我有一个php-gtk应用程序的小问题,它总是遇到非UTF8字符串,我发现问题出在数据库连接上,即使数据库应该是UTF-8的。
我尝试过"SET CHARACTER SET utf8"(MySQL方式)和"SET NAMES UTF8“,什么也没有发生(在"Query Language Understood by SQLite ”页面中也没有任何关于这些命令的信息,所以我对此并不感到惊讶)。
PD:也许连接已经是UTF-8格式,而数据不是,但是如果有一种方法可以改变连接编码,这个问题仍然有用。
发布于 2008-11-04 20:07:26
据我所知,SQLite only has one setting for charset是针对每个数据库的。您无法更改连接上的编码。
C应用编程接口具有打开连接的two different ways,可以是UTF-8或UTF-16。我期望PHP 8版本的SQLite模块(以及PDO)能够简单地使用UTF-8版本。如果这是正确的,我希望SQLite连接总是UTF-8。这意味着您应该使用utf8_encode/utf8_decode手动编码/解码字符串。
另请参阅:http://www.alberton.info/dbms_charset_settings_explained.html
https://stackoverflow.com/questions/263056
复制相似问题