この記事の内容は、MySQL データベースの文字エンコーディングの問題に関するものです。必要な方は参考にしていただければ幸いです。 [推奨チュートリアル: MySQL チュートリアル]
1. コマンド ラインを使用して文字セット設定を表示する
show variables like 'character_set%';
最初のチュートリアル、character_set_client is 送信データの文字セットエンコーディング。
2 番目に、character_set_connection は、データベースに接続するときの文字セット エンコーディングです。
3 番目のcharacter_set_results は、結果を返すときの文字セット エンコーディングです。
3 番目のcharacter_set_database は、現在のデータベースの文字セット エンコーディングです。
5 番目のcharacter_set_server は、サーバーの文字セット エンコーディングです。
6 番目のcharacter_set_system は、データベース名、テーブル名、フィールド名などのデータベース識別子のエンコーディングです。
送信プロセス: クライアント (クライアント送信エンコーディング) ------->接続 (データ接続エンコーディング) ------->[サーバー内部エンコーディング]----- - > 結果のエンコーディングを返します。
2. 文字セットと検証ルール
1. 校正ルール。
校正ルールには、文字セット エンコーディング_言語地域_比較ルールの 3 つの部分が含まれます。
文字セット エンコーディング: gbk、utf8 などはすべて文字セット エンコーディングです。
比較ルール: ci cs bin の 3 種類。
2. 照合規則を確認します:
show collation like 'xxxx';//模糊查询 show collation;
例: showcollation like 'gbk%'; 実際、この文はライブラリのクエリです。
3. gbk_ci と gbk_bin の違い
gbk_ci 校正ルールは大文字と小文字を区別しませんが、gbk_ci はピンインでソートされます。この機能 utf8_generation_ci は存在しません。
gbk_bin は文字 Ascall エンコーディングによってソートされます。
次のステートメントを渡すことができます:
select * from tbl_name order by 字段名;//检验
4. gbk と utf8 の選択
中国語の文字を格納する場合は、2 バイトを使用する gbk 文字セットを使用します。 utf8 を使用すると 3 バイトを消費します。ただし、gbk は本土の Web サイトにのみ適しており、utf8 は世界標準に適しています。選び方としては、方向性によって異なります。
以上がmysqlデータベースの文字コードの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。