MySQL データベースを使用する場合、多くの場合、より多くの言語文字をサポートするために文字エンコーディングを UTF8 に設定する必要があります。 UTF8 は、ほとんどの既知の文字を表現できる Unicode のエンコード方式です。 MySQL では、UTF8 を設定するにはいくつかの手順が必要です。以下で 1 つずつ説明します。
MySQL を使用する前に、まず現在の MySQL 文字セットを理解する必要があります。次のコマンドで表示できます:
SHOW VARIABLES LIKE 'character_set%';
このコマンドは、MySQL の現在の文字セット設定をリストします。より重要なものは、character_set_client、character_set_connection、character_set_database の 3 つのパラメータの設定です。これら 3 つのパラメータがすべて utf8 である場合、MySQL は現在 UTF8 でエンコードされていることを意味します。
現在の MySQL 文字セットが UTF8 でない場合は、MySQL 構成ファイルを手動で変更して UTF8 エンコードを有効にする必要があります。変更手順は次のとおりです。
sudo vi /etc/my.cnf
[mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8
その中に、collation-server とCharacter-set-server MySQL の照合規則と文字セットをそれぞれ設定するために使用され、init-connect は、MySQL に新しい接続が確立されるたびに SET NAMES utf8 ステートメントを実行して、文字セットが正しいことを確認するために使用されます。
MySQL 構成ファイルを変更した後、有効にするために MySQL サービスを再起動する必要があります。次のコマンドを使用して MySQL を再起動できます。
sudo service mysql restart
MySQL の文字セットを UTF8 に設定した後、データベースを個別に変更する必要もあります。UTF8 エンコーディングを実際にサポートできるのは、テーブルの文字セットのみです。
次のコマンドを使用してデータベースの文字セットを変更できます:
ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
その中で、 Database_name は、変更する必要があるデータベースの名前です。utf8_general_ci は、UTF8 をサポートする唯一の照合順序です。
次のコマンドを使用してテーブルの文字セットを変更できます:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
その中で、 table_name は変更する必要があるテーブルの名前です。utf8_general_ci は UTF8 をサポートする唯一の照合順序です。
概要
上記の手順により、より多くの言語文字をサポートするために、MySQL の文字セットを UTF8 に設定できます。開発プロセスでは、データの正確性を保証するために、データの入出力に正しい文字セットが使用されているかどうかにも注意を払う必要があることに注意してください。
以上がmysql utf8設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。