Rumah >pangkalan data >tutorial mysql >penukaran pengekodan mysql

penukaran pengekodan mysql

WBOY
WBOYasal
2023-05-08 10:22:072129semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan untuk menyimpan dan mengurus data. Apabila menggunakan MySQL, kadangkala perlu mengekod data. Penukaran pengekodan merujuk kepada menukar pengekodan set aksara kepada pengekodan set aksara lain Pengekodan set aksara biasa termasuk UTF-8, GBK, GB2312, dsb.

Dalam MySQL, anda boleh menggunakan fungsi tukar dan fungsi hantar untuk melakukan penukaran pengekodan.

  1. Gunakan fungsi tukar untuk penukaran pengekodan

Fungsi tukar boleh menukar rentetan daripada pengekodan set aksara kepada pengekodan set aksara yang lain. Sintaksnya adalah seperti berikut:

convert(expr,charset,[binary])

di mana expr ialah rentetan yang perlu ditukar, charset ialah set aksara pengekodan sasaran dan binari ialah parameter pilihan Digunakan untuk menentukan sama ada untuk menggunakan mod binari untuk penukaran.

Sebagai contoh, tukar rentetan berkod gb2312 kepada rentetan berkod utf8:

SELECT CONVERT('中国',CHARACTER SET utf8);

Hasil pelaksanaan ialah:

+---------------+
| CONVERT('中国',CHARACTER SET utf8) |
+---------------+
| 中国         (中文字符)        |
+---------------+
  1. Gunakan fungsi cast untuk pengekodan penukaran
cast juga boleh digunakan untuk menukar rentetan daripada satu pengekodan set aksara kepada yang lain. Sintaksnya adalah seperti berikut:

cast(expr as type)

Antaranya, expr ialah rentetan yang perlu ditukar, dan jenis ialah jenis pengekodan set aksara sasaran.

Sebagai contoh, tukar rentetan berkod gbk kepada rentetan berkod utf8:

SELECT CAST('中国' as CHAR CHARACTER SET utf8);
Hasil pelaksanaan ialah:

+------------------------------------+
| CAST('中国' as CHAR CHARACTER SET utf8) |
+------------------------------------+
| 中国                            |
+------------------------------------+
Perlu diingat bahawa fungsi cast boleh hanya tukar Tukar jenis data sedia ada kepada jenis data yang berbeza. Jika jenis data itu sendiri tidak sepadan, penukaran melalui fungsi cast tidak boleh dilakukan.

Selain menggunakan fungsi untuk penukaran pengekodan, anda juga boleh mengkonfigurasinya dalam fail konfigurasi MySQL my.ini. Dalam my.ini, anda perlu menetapkan parameter pelayan set aksara dan pelayan pengumpulan untuk menentukan set aksara dan pengumpulan pelayan MySQL. Sebagai contoh, tukar pengekodan set aksara lalai pelayan MySQL kepada utf8:

[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
Pada masa yang sama, anda juga boleh menentukan jenis pengekodan semasa mencipta pangkalan data dan jadual. Sebagai contoh, cipta pangkalan data menggunakan pengekodan set aksara utf8 dan pengumpulan utf8_general_ci:

CREATE DATABASE mydatabase
    DEFAULT CHARACTER SET utf8
    DEFAULT COLLATE utf8_general_ci;
Cipta jadual menggunakan pengekodan set aksara utf8 dan pengumpulan utf8_general_ci:

CREATE TABLE mytable (
    id INT NOT NULL,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Ringkasan:

>

Atas ialah kandungan terperinci penukaran pengekodan 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
Artikel sebelumnya:mysql jika tidak sama denganArtikel seterusnya:mysql jika tidak sama dengan