Rumah >pangkalan data >tutorial mysql >penukaran pengekodan mysql
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.
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) | +---------------+ | 中国 (中文字符) | +---------------+
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_ciPada 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!