我有PHP脚本与UTF-8编码和数据库和表在数据库与UTF8编码太(utf8_general_ci)。但是在构建和执行mysqli查询之后,这个字符串会出现错误的编码,它们看起来像(在db中)它们需要UTF-8转换,所以它们被编码为CP1252或类似的东西。(我放了一个西里尔字母字符串)。
我用来连接数据库的代码在这里:
$db = new mysqli("localhost", "root", "", "nf");
$db->set_charset("utf8");
所以你看到字符集设置为utf8,数据库和表也是utf-8。
所以IDK为什么以及在哪里字符串会变成一个错误的字符集,就像它们无缘无故地被转换成CP1252编码一样。
这样做的原因是什么?我还能提供什么其他信息?
试试这行:
mysql_query("SET NAMES 'utf8'");