0

以前に、latin1 で MySQL データをエンコードしていました。今、MySQL で UTF-8 に変換しましたが、データはまだ latin1 で保存されています。最初に Latin-1 として保存された UTF-8 データは、UTF-8 に正しく変換されませんでした。クエリを使用してデータベースからデータを取得するときに、UTF-8 に変換する必要があるように、PHP で回避策が必要です。

MySQL 関数を使用してデータベースを変換するソリューションを見つけました。これは非常に役立ちます... MySQL - UTF8 テーブルの latin1 文字を UTF8 に変換します

しかし、私のシナリオは、PHP でこれを行う必要があるということです。

4

1 に答える 1

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

  }
?>
于 2013-03-27T15:56:12.633 に答える