我将一些俄语字符存储到我的数据库中。数据正确保存。为此,我已将字段的排序从ascii更改为utf8_general_ci。因此数据正确保存。
我使用php数据对象来获取数据。但是字符显示为??? 。我试过set names utf8
,但没有运气。如果使用普通的mysql查询,则返回正确的字符。有没有其他方法可以使它在Pear对象中工作
这是我正在使用的代码
$obj = DB_DataObject::Factory('table');
$obj->exec("set names utf8");
$obj->query("(SELECT * FROM table");
答案 0 :(得分:1)
除了正确查询数据外,还需要在HTML中正确设置输出编码。
使用以下任何一项:
有关详细信息,请参阅Wikipedia。
在我们的/etc/mysql/my.cnf
中,我们也有:
collation_server=utf8_general_ci
character_set_server=utf8
skip-character-set-client-handshake
character-set-client = utf8
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'
可能character-set-client
设置有帮助。