PHP字符集转换

时间:2013-03-27 15:50:35

标签: php mysql utf-8 character-encoding latin1

我以前用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中执行此操作。

1 个答案:

答案 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"]);

  }
?>