我正在开发一个在sqlite3数据库中使用非英语字符串(希伯来语)的Iphone应用程序。
但是,应用程序仅在使用英文字符串时显示我的数据!带有希伯来字符的值返回null。
我尝试在终端上的mac上通过sqlite添加希伯来字符串 - 但是当我输入字符时,sqlite甚至不会识别字符(尽管终端确实如此)。
所以我尝试在Windows中创建数据库。数据库接受了我的特殊字符,所以我把它转移到mac。字符仍然没有显示在Iphone上。
在终端的sqlite中查看时,这些是我收到的结果,带有问号而不是字符:
1 |的 ???? ????? ??? ??? ???? | 31 | 34
2 |的 ???? ????? ??? ??? ???? | 31 | 34
3 |的 ???? ????? ????? - ??? | 31 | 34
当iphone在应用程序中检索数据时,使用代码:
NSLog(@"Name: %@", [NSString stringWithUTF8String:(char *) sqlite3_column_text(compiledStatement, 1)]);
我得到的只是空值:
2010-09-11 13:20:20.096 tr [928:207]姓名:(null)
2010-09-11 13:20:20.096 tr [928:207]姓名:(null)
2010-09-11 13:20:20.097 tr [928:207]姓名:(null)
我还能尝试什么?
谢谢!
答案 0 :(得分:2)
找到解决方案......
内容在创建的db3文件窗口中没有很好地传递。
所以我将实际的sql命令复制到了一个txt文件,然后在mac上的sqlite3中启动了所有这些命令(带有“.read”)。结果:使用UTF-8字符:)