Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP或MySQL转换utf8字符_Php_Mysql_Utf 8_Pdo_Character Encoding - Fatal编程技术网

使用PHP或MySQL转换utf8字符

使用PHP或MySQL转换utf8字符,php,mysql,utf-8,pdo,character-encoding,Php,Mysql,Utf 8,Pdo,Character Encoding,我不确定以前是否有人问过这个问题,但我没有发现。虽然我没有在PDO中设置连接字符集,而表排序是utf8_percian_ci,所以所有数据都存储在不可读的字符中,如中的§§§§…即波斯语中的中 在设置字符集之前,添加mysql:charset=utf8mb4到PDO DNS,我能够正确检索所有数据,但现在我在浏览器中看到的是 我的网站是一个博客,现在看来我必须重新输入所有的文本和帖子,然后恢复它们以正确保存。那是一场灾难 我使用了mbØu detect_encoding()。搜索“如何将utf8

我不确定以前是否有人问过这个问题,但我没有发现。虽然我没有在PDO中设置连接字符集,而表排序是
utf8_percian_ci
,所以所有数据都存储在不可读的字符中,如
中的§§§§…
即波斯语中的

在设置字符集之前,添加
mysql:charset=utf8mb4
到PDO DNS,我能够正确检索所有数据,但现在我在浏览器中看到的是

我的网站是一个博客,现在看来我必须重新输入所有的文本和帖子,然后恢复它们以正确保存。那是一场灾难

我使用了
mbØu detect_encoding()。搜索“如何将utf8转换为utf8”非常有趣,但我绝对没有得到预期的结果

是否可以使用MySQL将
ÙÙÙ§ÙÙ…
转换为
سمم
?若并没有,我想另一种方法是使用PHP读取旧数据,然后再次转换并插入数据库

我该怎么办?

您可以简单地执行以下操作:

UPDATE my_table SET my_column=二进制转换(my_column使用拉丁语1)

(其中,
latin1
是插入时设置连接的字符集)。

您尝试过utf8\u general\u ci吗?我尝试过。问题不仅仅在于产出encoding@HarshalMahajan不,但我知道仅仅更改排序规则不会带来任何更改。@deceze的可能副本完全有效!你是unicode的人;)回答得好,谢谢