Rumah > Artikel > pangkalan data > Bagaimana untuk menetapkan format pengekodan dalam mysql
MySQL digunakan secara meluas sebagai sistem pengurusan pangkalan data hubungan. Walau bagaimanapun, jika anda menghadapi ralat format pengekodan, ia akan menyebabkan masalah yang tidak dapat diramalkan dalam sistem, jadi apabila menggunakan MySQL, adalah sangat penting untuk menetapkan format pengekodan. Artikel ini akan memperkenalkan cara untuk menetapkan format pengekodan MySQL untuk memastikan operasi normal sistem.
Pertama, tentukan format pengekodan yang digunakan oleh pangkalan data MySQL. Anda boleh melihatnya dengan arahan berikut:
SHOW VARIABLES like 'character_set%'; SHOW VARIABLES like 'collation%';
Pembolehubah ini akan memberitahu anda set aksara dan penyusunan yang digunakan oleh contoh MySQL.
Dalam MySQL, set aksara terdiri daripada dua komponen: set aksara dan penyusunan. Set aksara ialah set aksara, seperti ASCII atau Unicode. Pengumpulan ialah peraturan yang menentukan cara rentetan dibandingkan dan diisih. Contohnya, berdasarkan susunan abjad atau berdasarkan peraturan bahasa.
Anda kemudian boleh cuba menetapkan pangkalan data dan jadual kepada format pengekodan yang betul. Format pengekodan pangkalan data boleh ditetapkan dengan arahan berikut:
ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
Ini akan mengemas kini set aksara lalai pangkalan data dan penyusunan. Untuk menukar set aksara dan penyusunan jadual, anda boleh menggunakan pernyataan berikut:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Ini akan mengemas kini set aksara dan penyusunan semua lajur dalam jadual. Jika anda ingin menukar format pengekodan lajur tertentu dalam jadual, anda boleh menggunakan arahan berikut:
ALTER TABLE table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;
Ini akan menukar set aksara dan penyusunan lajur supaya ia sepadan dengan semua lajur dalam baki jadual perlawanan.
Selain itu, jadual baharu boleh ditetapkan kepada set aksara dan penyusunan tertentu menggunakan pernyataan berikut:
CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Dalam contoh ini, jadual baharu bernama table_name akan dibuat dan Set ia menggunakan set aksara utf8mb4 dan pengumpulan utf8mb4_unicode_ci.
Akhir sekali, jika anda perlu memindahkan data antara berbilang pangkalan data, anda perlu memastikan bahawa pangkalan data ini semua menggunakan set aksara dan penyusunan yang sama. Data boleh dieksport ke fail SQL menggunakan arahan berikut:
mysqldump --opt --default-character-set=utf8 -u username -p database_name > backup.sql
Perintah ini akan mengeksport pangkalan data_nama ke dalam fail sandaran backup.sql dan menetapkannya untuk menggunakan format pengekodan utf8. Fail sandaran kemudiannya boleh diimport dalam pangkalan data lain menggunakan arahan berikut:
mysql -u username -p -h hostname database_name < backup.sql
Ini akan mengimport fail sandaran backup.sql ke dalam pangkalan data_name.
Ringkasnya, untuk memastikan operasi biasa MySQL, adalah penting untuk menetapkan format pengekodan yang betul. Dengan mengetahui format pengekodan semasa tika MySQL anda dan menggunakan arahan yang sesuai untuk mengemas kini format pengekodan pangkalan data, jadual dan lajur kepada nilai yang betul, anda boleh memastikan bahawa sistem menukar dan mengisih aksara dengan betul semasa memproses data rentetan.
Atas ialah kandungan terperinci Bagaimana untuk menetapkan format pengekodan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!