【发布时间】:2010-06-12 15:37:24
【问题描述】:
我有一些 NSString 变量,其中包含诸如 Ð 和 Õ 如果我这样做了
cell.textLabel.text = person.name;
如果它包含这些字符之一,则 cell.textlabel 为空白!
我发现如果我使用
NSString *col1 = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
要拉回我的数据,它会拉回 null,但是使用已弃用的方法
NSString *col1 = [NSString stringWithCString:(char *)sqlite3_column_text(compiledStatement, 0)];
显示字符!
有什么想法吗?
【问题讨论】:
-
听起来 sqlite3_column_text 正在使用 MacRoman 编码。你能以十六进制转储内容,看看它看起来像 UTF8 (Ð == \xC3\x90, Õ == \xC3\x95) 还是 MacRoman。
-
如何转储十六进制?我可以控制我的 sqlite 中的列格式,那应该是什么?
标签: iphone sqlite unicode nsstring uilabel