Iphone上的Sqlite3:使用非英文字符

时间:2010-09-11 10:37:12

标签: iphone utf-8 sqlite hebrew

我正在开发一个在sqlite3数据库中使用非英语字符串(希伯来语)的Iphone应用程序。

但是,应用程序仅在使用英文字符串时显示我的数据!带有希伯来字符的值返回null。

  1. 我尝试在终端上的mac上通过sqlite添加希伯来字符串 - 但是当我输入字符时,sqlite甚至不会识别字符(尽管终端确实如此)。

  2. 所以我尝试在Windows中创建数据库。数据库接受了我的特殊字符,所以我把它转移到mac。字符仍然没有显示在Iphone上。

  3. 在终端的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)

    我还能尝试什么?

    谢谢!

1 个答案:

答案 0 :(得分:2)

找到解决方案......

内容在创建的db3文件窗口中没有很好地传递。

所以我将实际的sql命令复制到了一个txt文件,然后在mac上的sqlite3中启动了所有这些命令(带有“.read”)。结果:使用UTF-8字符:)