MySQL ユーザーは、スウェーデン語やノルウェー語の文字列など、英語以外の文字を含むデータをクエリするときにフォーマットの問題に遭遇することがよくあります。デフォルトでは、文字セットを latin1 に設定して MySQL コマンド ラインを使用すると正しい書式設定が保証されますが、特殊文字を適切に表示するために utf8 に切り替えると書式設定が中断される可能性があります。
表形式の書式設定を維持するにはUTF-8 文字を表示するには、次のコマンドを実行します:
mysql --default-character-set=utf8
または、/etc/mysql/my.cnf ファイルを変更して次を追加します:
[mysql] default-character-set=utf8
上記のソリューションは、character_set_client、character_set_connection、およびcharacter_set_results 構成変数を utf8 に構成します。これらの設定は、クライアント、データベース接続、および返される結果で使用される文字セットを決定します。
character_set_database 変数は、現在のスキーマまたはデータベースに割り当てられた文字セットを表します。スキーマの文字セットは、作成時に明示的に指定しない限り、character_set_server から継承されます。
さらに、個々のテーブルと列は、親テーブルやスキーマから独立したカスタム文字セットを持つことができます。これらの文字セットの確認の詳細については、提供されているリソースを参照してください。
すべての文字セットを utf8 に設定しているにもかかわらず、一部の文字が依然として歪んで表示される場合があります。これは、Unicode 文字が latin1 接続 (例: mysql --default-character-set=latin1) を使用してクライアント経由で入力された場合に発生する可能性があります。これを解決するには、入力データと同じ文字セットを使用してデータベースに接続します。
MySQL の utf8 エンコーディングは、UTF-8 の不完全な実装です。完全に準拠した UTF-8 実装の場合は、utf8mb4 文字セットの使用を検討してください。
mysql --default-character-set=utf8mb4
さらに詳しく調べるには、utf8 と utf8mb4 の違いについて提供されているリソースを参照してください。
以上がテーブルのフォーマットを維持しながら MySQL コマンドラインで UTF-8 文字を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。