ホームページ  >  記事  >  データベース  >  mysql セットの文字セット

mysql セットの文字セット

王林
王林オリジナル
2023-05-08 09:36:063188ブラウズ

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 文字セットの設定方法

  1. MySQL でサポートされている文字セットをクエリする

MySQL データベースでは、文字をクエリできます。文字セットのコマンドを通じてデータベースでサポートされるセット。方法は次のとおりです:

SHOW CHARACTER SET;

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

##dec8DEC 西ヨーロッパdec8_swedish_ci1##cp850# #hp8HP 西ヨーロッパhp8_english_ci1koi8rKOI8-R Relcom ロシア語koi8r_general_ci1latin1iso-8859-1 西ヨーロッパlatin1_swedish_ci1iso-8859-2 中央ヨーロッパ#swe77bit スウェーデン語swe7_swedish_ci1#asciiUS ASCIIascii_general_ci1#ujisEUC-JP 日本語ujis_japanese_ci3 sjisシフトJIS日本語sjis_japanese_ci2ヘブライ語 iso-8859-8 ヘブライ語hebrew_general_ci1tis620TIS620 タイ語tis620_thai_ci1euckr_korean_cikoi8u_general_cigb2312_chinese_ci##ギリシャ語iso-8859-7 ギリシャ語greek_general_ci1cp1250Windows Central Europeancp1250_general_ci1gbkGBK 簡体字中国語gbk_chinese_ci2latin5iso-8859-9 トルコ語latin5_turkish_ci1armscii8ARMSCII-8 アルメニア語 armcii8_general_ci1utf8UTF-8 Unicodeutf8_general_ci3ucs2UCS-2 Unicodeucs2_general_ci2cp866DOS ロシア語cp866_general_ci11111 1414##utf16leUTF-16LE Unicodeutf16le_general_ci4cp1256Windows アラビア語cp1256_general_ci1cp1257Windows バルト語cp1257_general_ci1utf32UTF-32 Unicodeutf32_general_ci 4binaryバイナリ擬似文字セットbinary1geostd8 ##cp932SJIS for Windows 日本語 cp932_japanese_ci2##eucjpms
  1. データベースの文字セットを設定する

新しい 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 つです。使用される文字セット。

  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 コマンドは、接続の作成時に文字セットを自動的に設定するために使用されます。

  1. 概要

MySQL は非常に人気のあるオープン ソース データベースであり、その文字セット設定は非常に重要な役割を果たします。 MySQL の文字セットを正しく設定すると、データの正常な読み取り、書き込み、保存が保証されます。この記事では、MySQL キャラクタ セットの基本概念、データベース、テーブル、接続の作成時にキャラクタ セットを設定する方法、およびより多くのキャラクタ セット設定を有効にするために my.cnf ファイルを変更する方法を紹介します。 MySQLを使用します。

Charset Description デフォルトの照合順序 Maxlen
big5 Big5 繁体字中国語 big5_chinese_ci 2
DOS 西ヨーロッパ cp850_general_ci 1
##latin2
latin2_general_ci 1
##euckr EUC-KR 韓国語
2 koi8u KOI8-U ウクライナ語
1 gb2312 GB2312 簡体字中国語
2
##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
#GEOSTD8 ジョージア語 geostd8_general_ci 1
UJIS for Windows 日本語 eucjpms_japanese_ci 3

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。