【问题标题】:Core data and special characters (UTF-8)核心数据和特殊字符 (UTF-8)
【发布时间】:2010-06-15 06:47:03
【问题描述】:

我有一个使用 Core Data 的 iPhone 应用程序,底部有一个 SQLite 数据库。我正在将一些文本内容从数据库写入文件,但文件中的 Å、Ä 和 Ö 等特殊字符已损坏(它们在应用程序中显示得很好)。

在创建和插入数据时,我没有使用任何特殊编码。我只是将 NSString(由用户在 UITextField 中输入)放入我的持久对象中。保存文件时,我使用以下代码:

[csvString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];

我尝试将 BOM 添加到文本的开头(“\xef\xbb\xbf”),但它仍然损坏。有人知道问题出在哪里吗?

损坏字符示例:å 变为 ö,ä 变为 ä

【问题讨论】:

    标签: iphone file core-data utf-8 special-characters


    【解决方案1】:

    您的示例损坏看起来像是被解释为 ISO-8859-1 的正确 UTF-8 字符。你是如何查看文件的?您确定您使用的查看器实际上将文件解释为 UTF-8 吗?

    【讨论】:

    • 和往常一样,问题不在我想的地方。事实证明,我用来读取数据的程序(OpenOffice Calc 和 Excel)无法像我想象的那样简单地管理 UTF-8。将编码更改为 UTF16LittleEndian 就可以了。
    【解决方案2】:

    您是否尝试将编码更改为 NSUTF16StringEncoding?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      相关资源
      最近更新 更多