UTF8を使用する場合、複数の障害点があります:
-
テーブルがutf8であることを確認してください
SQLコマンド
Show Variables;
を使用します テーブルのMySQL文字設定を確認します。 -
挿入されたデータはutf8です
phpMyAdminerなどのツールを試すことができます または管理者
データが正しく挿入されているかどうかを確認します。ツールを介して手動でデータを挿入してみてください。スクリプトを介して挿入する場合は、基本的な文字列関数を使用しないでください。常にmbstringalternativesを使用してください。mb_internal_encoding( 'UTF-8' );
を設定します PHPにUTF-8を内部で処理させるため。 -
フェッチされたデータはutf8です
$pdo->exec("SET NAMES utf8");
のみを使用します 残りをドロップします。SET NAMES x
SET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;
と同等です -
表示されるデータはutf8です
これがhtmlページに表示される場合は、メタタグまたはヘッダーを設定することを忘れないでください
"Content-Type: text/html; charset=utf-8"
。