Rumah >pangkalan data >tutorial mysql >set aksara mysql

set aksara mysql

王林
王林asal
2023-05-08 09:36:063242semak imbas

MySQL, sebagai pangkalan data sumber terbuka yang berkuasa, digunakan secara meluas dalam kebanyakan aplikasi dalam pelbagai industri. Tetapan set aksara adalah isu yang sangat penting apabila menggunakan MySQL. Artikel ini akan memperkenalkan cara untuk menetapkan set aksara MySQL untuk membantu pembangun menggunakan pangkalan data MySQL dengan betul.

1. Konsep set aksara

Set aksara ialah spesifikasi tentang perhubungan pemetaan antara kod dan aksara Ia menentukan kaedah pengekodan aksara komputer. Set aksara mungkin mempunyai tetapan yang berbeza dalam sistem pangkalan data yang berbeza, dan set aksara yang berbeza mempunyai ciri dan kelebihan yang berbeza. Contohnya, apabila memproses aksara Cina, GB2312/GBK/GB18030 mempunyai kelebihan berbanding Latin1/Latin7.

Dalam MySQL, set aksara merujuk kepada pengekodan data aksara dalam 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 menanyakan aksara set disokong oleh pangkalan data melalui arahan Set aksara, kaedahnya adalah 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 set aksara semua jadual dalam pangkalan data akan digunakan set aksara. 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 Takrifkan

BUAT PANGKALAN DATA new_db SET KARAKTER utf8;

atau

CIPTA PANGKALAN DATA new_db SET KARAKTER LALAI utf8;

salah satu daripada utf8 yang biasa. set aksara terpakai.

  1. Tetapkan set aksara jadual MySQL

Untuk membolehkan medan jadual menyimpan dan memaparkan data dengan betul, kita perlu menetapkan set aksara untuk meja. Dalam MySQL, set aksara jadual boleh ditetapkan semasa mencipta jadual. Jika jadual telah dibuat, anda juga boleh mengubah suai jadual melalui 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 LALAI InnoDB=utf8;

Antaranya, ENGINE=InnoDB digunakan untuk menetapkan enjin storan jadual, dan CHARSET=utf8 digunakan untuk menetapkan set aksara lalai jadual .

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 ini sering dipanggil "set aksara pelanggan" dan merujuk kepada set aksara data yang dihantar dalam 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, anda mungkin perlu menghidupkan tetapan set aksara MySQL yang lain untuk mengendalikan beberapa tempat penyimpanan data dan penukaran yang jarang berlaku. Pada masa ini, anda mungkin perlu mengubah suai fail konfigurasi MySQL - fail my.cnf Mengubah suai fail ini mungkin memerlukan hak 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.

  1. Ringkasan

MySQL ialah pangkalan data sumber terbuka yang sangat popular, dan tetapan set aksaranya memainkan peranan yang sangat penting. Menetapkan set aksara MySQL dengan betul memastikan pembacaan, penulisan dan penyimpanan data yang normal. Dalam artikel ini, kami memperkenalkan konsep asas set aksara MySQL, cara menetapkan set aksara apabila mencipta pangkalan data, jadual dan sambungan, dan cara mengubah suai fail my.cnf untuk mendayakan lebih banyak tetapan set aksara Pengetahuan ini boleh membantu pembangun dengan lebih baik gunakan MySQL.

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn