我以前用latin1编码过MySQL数据。现在,我已经在MySQL中将其转换为UTF-8,但数据仍保存在latin1中。 最初存储为Latin-1的UTF-8数据未正确转换为UTF-8。 我需要在PHP中解决这个问题,这样当我使用查询从数据库中获取数据时,它应该转换为UTF-8。
我找到了一个使用MySQL函数转换数据库的解决方案,这真的很有用...... MySQL - Convert latin1 characters on a UTF8 table into UTF8
但我的情况是,我需要在PHP中执行此操作。
答案 0 :(得分:0)
您可以使用PHP函数utf8_encode(http://php.net/manual/fr/function.utf8-encode.php)和utf8_decode(http://php.net/manual/fr/function.utf8-decode.php)
然后,您必须在SQL表中循环以使用已清理的值替换值
<?php
$query = mysql_query("SELECT * from table");
while($result = mysql_fetch_array($query)){
//Then update row with new name
mysql_query("UPDATE table SET col_name = '" . utf8_decode($result["col_name"]) ."' WHERE id = " . $result["id"]);
}
?>