MySQL は強力なオープンソース データベースとして、あらゆる分野のほとんどのアプリケーションで広く使用されています。 MySQL を使用する場合、文字セットの設定は非常に重要な問題です。この記事では、開発者が MySQL データベースを正しく使用できるように、MySQL 文字セットを設定する方法を紹介します。
1. 文字セットの概念
文字セットとは、コードと文字の対応関係に関する仕様であり、コンピュータ文字の符号化方式を規定します。文字セットはデータベース システムごとに異なる設定を持つ場合があり、文字セットが異なれば特性や利点も異なります。たとえば、漢字を処理する場合、GB2312/GBK/GB18030 は Latin1/Latin7 よりも優れています。
MySQL では、文字セットはデータベース、テーブル、および列内の文字データのエンコーディングを指します。平たく言えば、文字セットとは、文字と文字列を保存および処理するために使用される方法を指します。
MySQL でサポートされている文字セットには、主に ASCII、GBK、GB2312、UTF-8、UTF-16、ISO-8859 などが含まれます。その中で、UTF-8 が最もよく使用される文字セットです。 MySQL では、複数の言語をサポートし、柔軟なエンコード形式を備え、スペースを節約し、その他の利点があるためです。
2. MySQL 文字セットの設定方法
MySQL データベースでは、文字をクエリできます。文字セットのコマンドを通じてデータベースでサポートされるセット。方法は次のとおりです:
SHOW CHARACTER SET;
このコマンドでは、MySQL で使用できるさまざまな文字セットをリストできます。例:
新しい MySQL データベースを作成するときに、データベースのデフォルトの文字セットを設定できるため、すべてのテーブルの文字セットがデータベースには文字セットが使用されます。
2.1 まず MySQL でサポートされている文字セットを確認します
mysql> SHOW CHARACTER SET;
2.2 新しいデータベースを作成するときに文字を追加します設定を設定します Define
CREATE DATABASE new_db CHARACTER SET utf8;
または
CREATE DATABASE new_db DEFAULT CHARACTER SET utf8;
ここで、utf8 は一般的な CHARACTER SET の 1 つです。使用される文字セット。
テーブルのフィールドにデータを正しく保存および表示するには、テーブルの文字セットを設定する必要があります。テーブル。 MySQLではテーブル作成時にテーブルの文字セットを設定できます。テーブルが作成されている場合は、Alter コマンドを使用してテーブルを変更することもできます。
3.1 テーブル作成時の文字セットの設定
CREATE TABLE new_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL DEFAULT '' ,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
このうち、ENGINE=InnoDBはテーブルのストレージエンジンの設定に使用され、CHARSET=utf8が使用されます。テーブルのデフォルトの文字セットを設定します。
3.2 テーブルの文字セットを変更します
ALTER TABLE old_table CONVERT TO CHARACTER SET utf8;
or
ALTER TABLE old_table MODIFY COLUMN name VARCHAR( 50) CHARACTER SET utf8;
このうち、CONVERT TO コマンドはテーブルのデフォルトの文字セットを変更するために使用され、MODIFY COLUMN コマンドはテーブル内の列の文字セットを変更するために使用されます。
MySQL サーバーに接続するときに、操作の文字セットを設定することもできます。この文字セット設定は「クライアント文字セット」と呼ばれることが多く、クライアントで送信されるデータの文字セットを指します。
4.1 現在の接続の文字セットを表示します
mysql> SELECT @@character_set_connection;
4.2 接続の文字セットを変更します
SETcharacter_set_connection = utf8;
or
mysql --default-character-set=utf8 -u root -p
このうち、SET コマンドは、デフォルトの文字セットを変更できます。接続、--default-character -set コマンドでは、クライアントの文字セットを指定できます。
場合によっては、まれなデータ ストレージおよび変換シーンを処理するために、MySQL の他の文字セット設定を開く必要がある場合があります。この時点で、MySQL 構成ファイル (my.cnf ファイル) を変更する必要がある場合があります。このファイルを変更するには、管理者権限が必要な場合があります。変更方法は次のとおりです。
5.1 my.cnf ファイルを検索する
Linux では、my.cnf ファイルは通常、/etc/my.cnf または /etc/mysql に保存されます。 /my.cnf ディレクトリ。
Windows では、my.cnf ファイルは通常、MySQL データベースのインストール ディレクトリに保存されます。
5.2 my.cnf ファイルを変更します
my.cnf ファイルに次のステートメントを追加します:
[mysqld]
character_set_server=utf8
init_connect= 'SET NAMES utf8'
このうち、character_set_server コマンドは、リストされた文字セットを設定するために使用され、init_connect コマンドは、接続の作成時に文字セットを自動的に設定するために使用されます。
MySQL は非常に人気のあるオープン ソース データベースであり、その文字セット設定は非常に重要な役割を果たします。 MySQL の文字セットを正しく設定すると、データの正常な読み取り、書き込み、保存が保証されます。この記事では、MySQL キャラクタ セットの基本概念、データベース、テーブル、接続の作成時にキャラクタ セットを設定する方法、およびより多くのキャラクタ セット設定を有効にするために my.cnf ファイルを変更する方法を紹介します。 MySQLを使用します。
Charset | Description | デフォルトの照合順序 | Maxlen |
---|---|---|---|
big5 | Big5 繁体字中国語 | big5_chinese_ci | 2 |
DEC 西ヨーロッパ | dec8_swedish_ci | 1 | |
DOS 西ヨーロッパ | cp850_general_ci | 1 | # #hp8 |
hp8_english_ci | 1 | koi8r | |
koi8r_general_ci | 1 | latin1 | |
latin1_swedish_ci | 1 | ##latin2 | |
latin2_general_ci | 1 | #swe7 | 7bit スウェーデン語 |
1 | #ascii | US ASCII | |
1 | #ujis | EUC-JP 日本語 | |
3 | sjis | シフトJIS日本語 | |
2 | ヘブライ語 | iso-8859-8 ヘブライ語 | |
1 | tis620 | TIS620 タイ語 | |
1 | ##euckr | EUC-KR 韓国語 | |
2 | koi8u | KOI8-U ウクライナ語 | |
1 | gb2312 | GB2312 簡体字中国語 | |
2 | ##ギリシャ語 | iso-8859-7 ギリシャ語 | greek_general_ci |
cp1250 | Windows Central European | cp1250_general_ci | |
gbk | GBK 簡体字中国語 | gbk_chinese_ci | |
latin5 | iso-8859-9 トルコ語 | latin5_turkish_ci | |
armscii8 | ARMSCII-8 アルメニア語 | armcii8_general_ci | |
utf8 | UTF-8 Unicode | utf8_general_ci | |
ucs2 | UCS-2 Unicode | ucs2_general_ci | |
cp866 | DOS ロシア語 | cp866_general_ci | |
##keybcs2 | DOS カメニッキー チェコ語-スロバキア語 | keybcs2_general_ci | |
macce | Mac 中央ヨーロッパ | macce_general_ci | |
macroman | Mac West European | macroman_general_ci | |
cp852 | DOS Central European | cp852_general_ci | |
latin7 | iso-8859-13 バルト海 | latin7_general_ci | |
#utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | |
#cp1251 | Windows キリル文字 | cp1251_general_ci | |
utf16 | UTF-16 Unicode | utf16_general_ci | |
##utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
cp1256 | Windows アラビア語 | cp1256_general_ci | 1 |
cp1257 | Windows バルト語 | cp1257_general_ci | 1 |
utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
binary | バイナリ擬似文字セット | binary | 1 |
geostd8 | #GEOSTD8 ジョージア語 | geostd8_general_ci | 1 |
SJIS for Windows 日本語 | cp932_japanese_ci | 2 | |
UJIS for Windows 日本語 | eucjpms_japanese_ci | 3 |
以上がmysql セットの文字セットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。