mysqlで文字セットを設定する方法

PHPz
リリース: 2023-05-27 13:38:24
転載
8423 人が閲覧しました

1. 文字セットの概念

文字セットは、コードと文字の対応関係を標準化し、コンピュータ文字の符号化方式を規定します。異なるデータベース システムでは文字セット設定が異なる場合があり、異なる文字セットには独自の特性と利点があります。 Latin1/Latin7 と比較して、GB2312/GBK/GB18030 は漢字の処理において大きな利点があります。

MySQL では、文字セットとは、データベース、テーブル、列などの文字データをエンコードする方法を指します。平たく言えば、文字セットとは、文字と文字列を保存および処理するために使用される方法を指します。

MySQL でサポートされている文字セットには、主に ASCII、GBK、GB2312、UTF-8、UTF-16、ISO-8859 などが含まれます。その中で、UTF-8 が最もよく使用される文字セットです。 MySQL では、複数の言語をサポートし、柔軟なエンコード形式を備え、スペースを節約し、その他の利点があるためです。

2. MySQL キャラクタ セットの設定方法

  1. MySQL でサポートされているキャラクタ セットをクエリします。

MySQL データベース内ででは、次のコマンドを使用して、データベースでサポートされている文字セットをクエリできます:

SHOW CHARACTER SET;

このコマンドでは、MySQL で使用できるさまざまな文字セットを一覧表示できます。例:

  1. データベースの文字セットを設定します

新しい MySQL データベースを作成するときに、すべてのテーブルが同じようにデータベースのデフォルトの文字セットを設定できます。データベース内のすべての文字セットはこの文字セットを使用します。

2.1 まず MySQL でサポートされている文字セットを確認します

mysql> SHOW CHARACTER SET;

2.2 新しいデータベースを作成するときに文字を追加しますset settings Set

CREATE DATABASE new_db CHARACTER SET utf8;

or

次の文が書き換えられます。 「デフォルトの文字セット utf8 を使用して、'new_db' という名前の新しいデータベースを作成します。」

ここで、utf8 は、一般的に使用される文字セットの 1 つです。

  1. MySQL テーブルの文字セットを設定します

テーブルがデータを正しく保存および表示できるようにするには、以下を設定する必要があります。テーブルの文字エンコーディング。 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 コマンドはテーブル内の列の文字セットを変更するために使用されます。

  1. MySQL 接続の文字セットを設定する

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 コマンドでは、クライアントの文字セットを指定できます。

  1. その他の文字セット設定

あまり一般的ではないデータ ストレージと変換の要件を処理するために、場合によっては、次のことが必要になることがあります。 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 コマンドは、接続の作成時に文字セットを自動的に設定するために使用されます。

##swe7 7 ビット スウェーデン語 swe7_swedish_ci 1 ascii US ASCII ascii_general_ci 1 #ujis EUC-JP 日本語 ujis_japanese_ci 3 sjis シフト JIS 日本語 sjis_japanese_ci 2 hebrew iso-8859-8 Hebrew hebrew_general_ci 1 tis620 TIS620 タイ語 tis620_thai_ci 1 euckr EUC-KR 韓国語 euckr_korean_ci 2 koi8u KOI8-U ウクライナ語 koi8u_general_ci 1 gb2312 GB2312 簡体字中国語 gb2312_chinese_ci 2 ギリシャ語 iso-8859 - 7 ギリシャ語 greek_general_ci 1 cp1250 Windows Central European cp1250_general_ci 1 ##gbk latin5 #armscii8 ARMSCII-8 アルメニア語 armscii8_general_ci 1 utf8 UTF-8 Unicode utf8_general_ci 3 UCS-2 Unicode DOS ロシア語 ##keybcs2 DOS カメニッキー チェコ語-スロバキア語 keybcs2_general_ci 1 macce Mac 中央ヨーロッパ macce_general_ci 1 macroman Mac West European macroman_general_ci 1 cp852 DOS中央ヨーロッパ cp852_general_ci 1 latin7 iso-8859-13 バルト海 latin7_general_ci 1 utf8mb4 UTF-8 Unicode utf8mb4_general_ci 4 cp1251 Windows キリル文字 cp1251_general_ci 1 #utf16 UTF -16 Unicode utf16_general_ci 4 utf16le UTF-16LE Unicode utf16le_general_ci 4 cp1256 Windows アラビア語 cp1256_general_ci 1 cp1257_general_ci ##utf32 UTF-32 Unicode utf32_general_ci 4 binary バイナリ擬似文字セット #binary 1 geostd8 GEOSTD8 グルジア語 geostd8_general_ci 1 cp932 SJIS for Windows 日本語 cp932_japanese_ci 2 eucjpms UJIS for Windows 日本語 eucjpms_japanese_ci 3
Charset Description デフォルトの照合順序 Maxlen
big5 Big5 繁体字中国語 big5_chinese_ci 2
#dec8 DEC 西ヨーロッパ dec8_swedish_ci 1
cp850 DOS 西ヨーロッパ cp850_general_ci 1
hp8 HP 西ヨーロッパ hp8_english_ci 1
koi8r KOI8-R Relcom ロシア語 koi8r_general_ci 1
latin1 iso-8859-1 西ヨーロッパ latin1_swedish_ci 1
latin2 iso-8859-2 中央ヨーロッパ latin2_general_ci 1
GBK 簡体字中国語 gbk_chinese_ci 2
iso-8859-9 トルコ語 latin5_turkish_ci 1
##ucs2
ucs2_general_ci 2 cp866
cp866_general_ci 1
# #cp1257 Windows Baltic
1

以上がmysqlで文字セットを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!