我正在尝试支持来自各种国际用户的任意 unicode。他们已经将一堆数据放入他们 iPhone 上的 sqlite 数据库中,现在我想将数据捕获到数据库中,然后将其发送回他们的设备。现在我正在使用一个 php 页面,该页面正在将数据从 Internet mysql 数据库发送回。数据在mysql数据库中保存正常,但是传回来的时候出来的是unicode文本,比如
Frank\u00e2\u0080\u0099s iPad
不仅仅是
Frank's iPad
这里的撇号实际上应该是弯撇号。
The answer posted to another question表明没有内置的 Cocoa 方法将 unicode 字符串的“\u00e2\u0080\u0099”部分从网络服务器转换为 NSString 对象。这是正确的吗?
这看起来真的很令人惊讶(并且非常令人失望),因为 Cocoa 确实允许从许多不同的 Unicode 字符输入,而且我需要支持我从未听说过的任何任意语言,以及所有可能的字符。我现在可以很好地将它们保存到本地 sqlite 数据库或从本地 sqlite 数据库保存,但是一旦我将它发送到 Web 服务器,然后可能会提取不同的数据,我想确保从 Web 服务器提取的数据格式正确。
最佳答案
[...] there is no built-in Cocoa methods to convert [...]. Is this correct?
这是不正确的。
您可能对 CFStringTransform
及其功能感兴趣。它是一个成熟的 ICU 转换引擎,可以(也)执行您请求的转换。
参见 Using Objective C/Cocoa to unescape unicode characters, ie \u1234
关于objective-c - 如何将Unicode字符串(\u00e2等)转换成NSString显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2831935/