我遇到了和这个问题完全相同的困扰,但是没有得到什么好的回答。
我正在尝试解析一个使用ISO-8859-1
编码的XML文件,但是每当遇到一个带有重音符号的单词,它就会被截断并且不能正常显示。
Example:
Original Word: Interés
Word Shown: és
我遇到了和这个问题完全相同的困扰,但是没有得到什么好的回答。
我正在尝试解析一个使用ISO-8859-1
编码的XML文件,但是每当遇到一个带有重音符号的单词,它就会被截断并且不能正常显示。
Example:
Original Word: Interés
Word Shown: és
你假设你只会得到一个-parser:foundCharacters:
代理方法来处理文本。但实际上,这是错误的。你会得到两个调用-parser:foundCharacters:
的方法,第一个是重音字符之前的文本,第二个是它之后的文本。你的日志甚至证明了这一点。
因此,你需要做的是,在开始一个新元素时,你也应该初始化一个新的NSMutableString*
实例。然后当你得到-parser:foundCharacters:
时,你应该追加到这个字符串中,而不是替换它。当标签关闭时,这个字符串现在包含了标签中的所有文本,而不仅仅是最后一个文本块。
你必须使用NSMutableString,并在foundCharacters方法中附加字符。这就是为什么你的字符串会被截断。