2

latin1 文字セットの古いテーブルがありました。phpmyadmin で utf-8 に変換した後、php でデータを読み込むと ???? と表示されます。??????? 疑問符

私のページの文字セットは utf-8 です 私の php に問題はありません、そして私も試しました:

@mysqli_query("SET NAMES 'utf8'", $db);
@mysqli_query("SET CHARACTER SET 'utf8'", $db);
@mysqli_query("SET character_set_client = utf8 ",$db);
@mysqli_query("SET character_set_results = utf8 ",$db) ;
@mysqli_query("SET character_set_connection = utf8 ",$db);

クエリの前に

動作しないようで、まだ????として表示されます ??????

新しいレコードは問題ありませんが、古いレコードは読み取れません

それらは次のようにデータベースに保存されます: غلامی</p>

それらの古いデータを取得する方法はありますか?

4

1 に答える 1

0

私が以前やっていたことは、コマンドラインに行くことです

mysqldump --default-character-set=latin1 ... > file.sql

次にfile.sqlをUTFに変換し(ICONVまたはその他のオプションを使用)、テーブルの文字セットを変更して使用します

mysql --default-character-set=utf8 < file.sql

上記の例のように、phpMyAdmin からエクスポート オプションを使用して変換し、テーブルの文字セットを phpMyAdmin から変更してから、再度インポートすることができます。

私は通常、これを行う前にバックアップを作成しましたが、これは間違いが発生する原因ですが、非常に簡単です

于 2011-12-13T15:33:04.970 に答える