的NSXMLParser,问题与ASCII字符集
YouTube的 YouTube - 最新添加的视频 风扇视频CARS mikar1 http://www.youtube.com/watch?v=y7ssHOBFvGk&feature=youtube_gdata 的NSXMLParser,问题与ASCII字符集
<descriptionTitle>Fan Video CARS</descriptionTitle>
<descriptionText>THE REALSONG OF THIS VIDEOS IS REAL GONE, BUT FOR COPYRIGHTS RASONS.....YOUTUBE FORCE ME A CHANGE THE SONG :s Un pequeño video, de la pelicula Cars!</descriptionText>
<added></added>
<airDate></airDate>
<duration></duration>
<Views></Views>
<ratings>4.340909</ratings>
<From></From>
</description>
<thumbnail>
<height>100</height>
<width>100</width>
<url>http://i.ytimg.com/vi/y7ssHOBFvGk/2.jpg</url>
</thumbnail>
</item>
</recentlyAdded>
</items>
</channel>
我使用NSXMLP当它到达时它会爆炸。它将文字分解成片断:“这段视频的真实再现是真的发生了,但是对于版权来说是悲惨的...... YOUTUBE强迫我改变歌曲:s un peque”而接下来应该是“o”,但它刚刚退出解析那里和其他标签正在处理。 :(
它总是与ISO 8859 1字符卡梅斯中)
有快捷的想法呢???
由于提前..........
ñ
不是ASCII(7位)!您需要使用正确的字符集来解析XML,在这种情况下,它看起来像是UTF-8。
这个视频REALSONG是真实的,但对于版权严厉..... YOUTUBE强迫我改变歌曲:s Unpequeñovideo,de la pelicula汽车! “ñ”这是当改变时的字符服务器将数据发送到客户端,应该使用什么编码来正确处理这样的人物。 ? – Ansari 2010-04-30 12:04:11
除非服务器显式指定另一种编码(在XML声明和/或Content-Encoding HTTP标头中),否则UTF-8是默认编码。 http://www.w3.org/TR/2008/REC-xml-20081126/#charencoding指出:“在没有外部传输协议(例如HTTP或MIME)提供的信息的情况下,这是一个致命错误实体包括一个编码声明,该编码声明将以除声明中指定的编码之外的编码呈现给XML处理器,或者以既不以字节顺序标记也不以编码声明开始的编码声明使用非UTF-8编码的实体。 – Lucero 2010-04-30 12:55:02
实际上,在XML服务器上应用了htmlentities()方法,该方法对数据进行编码并将html实体名称放置为“&Atilde;&ntilde;”解析器尝试读取这些代码时,它会失败。
在上面的xml“Unpequeñovideo,de la pelicula Cars!”其转化至Un peque&ntilde;!“
那么,什么可能是可能的问题与解析器....
不远的地方你的问题说:”啊,视频,德拉PELICULA汽车,当它到达它的打击(')? 另外,你的意思是说“但它只是退出解析那里,进一步的标签是*不*正在处理”?有一些文字,我们没有看到你打算围绕反引号(')? – 2010-04-30 11:52:13