【问题标题】:Using NSXMLParser with ISO-8859-1 truncates words with accents将 NSXMLParser 与 ISO-8859-1 一起使用会截断带有重音符号的单词
【发布时间】:2011-10-18 03:38:42
【问题描述】:

我遇到了与 question 相同的问题,但没有得到任何好的答案。

我正在尝试使用ISO-8859-1 编码解析 XML 文件,但每次有重音字时,它都会被截断并且无法正确显示。

Example: 

Original Word: Interés 

Word Shown: és

【问题讨论】:

  • 如果该问题没有得到足够的关注,请随时添加评论,请求进一步扩展。
  • 你收到这个问题的答案了吗?

标签: objective-c ios nsxmlparser diacritics iso-8859-1


【解决方案1】:

您假设您只获得一个 -parser:foundCharacters: 文本委托方法。在这种情况下,这是错误的。你接到了两个电话到-parser:foundCharacters:,第一个是重音字符之前的文本,第二个是它后面的文本。你的日志甚至证明了这一点。

因此,你需要做的是,当你启动一个新元素时,你也应该初始化一个新的NSMutableString*实例。然后当你得到-parser:foundCharacters:追加到这个字符串而不是替换它。当标签关闭时,这个字符串现在包含标签中的所有文本,而不仅仅是最后一个文本块。

【讨论】:

    【解决方案2】:

    您必须使用 NSMutableString 并在 foundCharacters 方法上附加字符。 这就是你的字符串被截断的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-01
      • 2023-04-01
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多