Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menetapkan set aksara dalam mysql

Bagaimana untuk menetapkan set aksara dalam mysql

PHPz
PHPzke hadapan
2023-05-27 13:38:248497semak imbas

1. Konsep set aksara

Set aksara menyeragamkan hubungan pemetaan antara kod dan aksara, dan menentukan kaedah pengekodan aksara komputer. Tetapan set aksara dalam sistem pangkalan data yang berbeza mungkin berbeza, dan set aksara yang berbeza mempunyai ciri dan kelebihan yang unik. Berbanding dengan Latin1/Latin7, GB2312/GBK/GB18030 mempunyai kelebihan yang lebih besar dalam memproses aksara Cina.

Dalam MySQL, set aksara merujuk kepada cara untuk mengekod data aksara, termasuk pangkalan data, jadual dan lajur. Dalam istilah orang awam, set aksara merujuk kepada cara yang digunakan untuk menyimpan dan memproses aksara dan rentetan.

Set aksara yang disokong dalam MySQL terutamanya termasuk yang berikut: ASCII, GBK, GB2312, UTF-8, UTF-16 dan ISO-8859, dll. Antaranya, UTF-8 ialah set aksara yang paling biasa digunakan dalam MySQL kerana Ia menyokong pelbagai bahasa, mempunyai format pengekodan yang fleksibel, menjimatkan ruang dan faedah lain.

2. Bagaimana untuk menetapkan set aksara MySQL

  1. Soal set aksara yang disokong oleh MySQL

Dalam pangkalan data MySQL , anda boleh Menyoal set aksara yang disokong oleh pangkalan data melalui arahan seperti berikut:

TUNJUKKAN SET KARAKTER;

Arahan ini boleh menyenaraikan pelbagai set aksara yang tersedia untuk MySQL, contohnya:

Charset Description Default collation Maxlen
big5 Big5 Traditional Chinese big5_chinese_ci 2
dec8 DEC West European dec8_swedish_ci 1
cp850 DOS West European cp850_general_ci 1
hp8 HP West European hp8_english_ci 1
koi8r KOI8-R Relcom Russian koi8r_general_ci 1
latin1 iso-8859-1 West European latin1_swedish_ci 1
latin2 iso-8859-2 Central European latin2_general_ci 1
swe7 7bit Swedish swe7_swedish_ci 1
ascii US ASCII ascii_general_ci 1
ujis EUC-JP Japanese ujis_japanese_ci 3
sjis Shift-JIS Japanese sjis_japanese_ci 2
hebrew iso-8859-8 Hebrew hebrew_general_ci 1
tis620 TIS620 Thai tis620_thai_ci 1
euckr EUC-KR Korean euckr_korean_ci 2
koi8u KOI8-U Ukrainian koi8u_general_ci 1
gb2312 GB2312 Simplified Chinese gb2312_chinese_ci 2
greek iso-8859-7 Greek greek_general_ci 1
cp1250 Windows Central European cp1250_general_ci 1
gbk GBK Simplified Chinese gbk_chinese_ci 2
latin5 iso-8859-9 Turkish latin5_turkish_ci 1
armscii8 ARMSCII-8 Armenian armscii8_general_ci 1
utf8 UTF-8 Unicode utf8_general_ci 3
ucs2 UCS-2 Unicode ucs2_general_ci 2
cp866 DOS Russian cp866_general_ci 1
keybcs2 DOS Kamenicky Czech-Slovak keybcs2_general_ci 1
macce Mac Central European macce_general_ci 1
macroman Mac West European macroman_general_ci 1
cp852 DOS Central European cp852_general_ci 1
latin7 iso-8859-13 Baltic latin7_general_ci 1
utf8mb4 UTF-8 Unicode utf8mb4_general_ci 4
cp1251 Windows Cyrillic cp1251_general_ci 1
utf16 UTF-16 Unicode utf16_general_ci 4
utf16le UTF-16LE Unicode utf16le_general_ci 4
cp1256 Windows Arabic cp1256_general_ci 1
cp1257 Windows Baltic cp1257_general_ci 1
utf32 UTF-32 Unicode utf32_general_ci 4
binary Binary pseudo charset binary 1
geostd8 GEOSTD8 Georgian geostd8_general_ci 1
cp932 SJIS for Windows Japanese cp932_japanese_ci 2
eucjpms UJIS for Windows Japanese eucjpms_japanese_ci 3
  1. Tetapkan set aksara pangkalan data

Apabila kami mencipta pangkalan data MySQL baharu, kami boleh menetapkan set aksara lalai pangkalan data supaya semua jadual dalam pangkalan data Semua set aksara akan menggunakan set aksara ini. Langkah-langkah khusus adalah seperti berikut:

2.1 Mula-mula semak set aksara yang disokong oleh MySQL

mysql> SHOW CHARACTER SET;

2.2 Apabila mencipta pangkalan data baharu, tambahkan aksara tetapkan tetapan Tentukan

BUAT PANGKALAN DATA new_db SET KARAKTER utf8;

atau

Ayat berikut ditulis semula: "Buat pangkalan data baharu yang dipanggil 'new_db' dengan set aksara lalai utf8."

di mana utf8 ialah salah satu set aksara yang biasa digunakan.

  1. Tetapkan set aksara jadual MySQL

Untuk memastikan jadual boleh menyimpan dan memaparkan data dengan betul, kita perlu menetapkan pengekodan aksara untuk jadual. Dalam MySQL, set aksara jadual boleh ditetapkan semasa mencipta jadual. Jadual yang telah dibuat boleh diubah suai menggunakan arahan ALTER.

3.1 Tetapkan set aksara semasa mencipta jadual

BUAT JADUAL jadual_baru (
id INT(11) BUKAN NULL AUTO_INCREMENT,
nama VARCHAR(50) NOT NULL DEFAULT '' ,
KUNCI UTAMA (id)
) ENGINE=CHARSET LAALA InnoDB=utf8;

Enjin storan yang digunakan untuk menetapkan jadual ialah ENGINE=InnoDB, dan set aksara lalai digunakan untuk menetapkan jadual ialah CHARSET=utf8.

3.2 Ubah suai set aksara jadual

UBAH JADUAL lama_jadual TUKAR KE SET WATAK utf8;

atau

UBAH JADUAL jadual_lama UBAHSUAI nama LAjur VARCHAR( 50) CHARACTER SET utf8;

Antaranya, arahan CONVERT TO digunakan untuk mengubah suai set aksara lalai jadual, dan arahan MODIFY COLUMN digunakan untuk mengubah suai set aksara lajur dalam jadual.

  1. Tetapkan set aksara untuk sambungan MySQL

Apabila menyambung ke pelayan MySQL, anda juga boleh menetapkan set aksara untuk operasi. Tetapan set aksara, sering dipanggil "set aksara pelanggan", merujuk kepada set aksara yang digunakan untuk data yang dihantar pada sisi klien.

4.1 Lihat set aksara sambungan semasa

mysql> SELECT @@character_set_connection;

4.2 Ubah suai set aksara sambungan

SET character_set_connection = utf8;

atau

mysql --default-character-set=utf8 -u root -p

Antaranya, arahan SET boleh mengubah suai set aksara lalai bagi sambungan, --default-character Perintah -set boleh menentukan set aksara klien.

  1. Tetapan set aksara lain

Dalam sesetengah kes, untuk mengendalikan beberapa keperluan storan dan penukaran data yang kurang biasa, mungkin perlu untuk dayakan tetapan set aksara tambahan untuk MySQL. Dalam kes ini, anda mungkin perlu mengubah suai fail konfigurasi MySQL-my.cnf fail dengan keistimewaan pentadbir. Kaedah pengubahsuaian adalah seperti berikut:

5.1 Cari fail my.cnf

Di Linux, fail my.cnf biasanya disimpan dalam /etc/my.cnf atau /etc/mysql /my.cnf direktori .

Dalam Windows, fail my.cnf biasanya disimpan dalam direktori pemasangan pangkalan data MySQL.

5.2 Ubah suai fail my.cnf

Tambah pernyataan berikut dalam fail my.cnf:

[mysqld]
character_set_server=utf8
init_connect= 'SET NAMES utf8'

Antaranya, arahan character_set_server digunakan untuk menetapkan set aksara yang disenaraikan, dan arahan init_connect digunakan untuk menetapkan set aksara secara automatik semasa membuat sambungan.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan set aksara dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam