我正在使用mysql数据库和php将俄语字符插入表中。
我正在使用:
$conn->set_charset('utf-8');
进入我的.php页面以将字符集设置为utf-8,但是,当我尝试使用以下命令打印数据库字符集时:
echo "set name:".$conn->character_set_name();
它显示
设置名称:latin1
我将表格设置为:
utf8mb4_unicode_ci
但没有任何改变。
打印来自ajax请求的传递的文本,我可以看到正确书写的文本。
我该怎么办?
答案 0 :(得分:2)
我想您不是要检查mysqli::set_charset()
的返回值。它必须返回false
,因为utf-8
在MySQL中不是有效的编码名称。正确的名称是utf8
(无破折号)。或者,甚至更好,utf8mb4
。
您可以通过以下方式获得支持的编码列表:
SHOW COLLATION;