Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menetapkan pengekodan UTF-8 dalam MySQL

Bagaimana untuk menetapkan pengekodan UTF-8 dalam MySQL

PHPz
PHPzasal
2023-04-21 11:23:2011503semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang digunakan secara meluas dalam aplikasi web, pemprosesan data besar dan aplikasi teragih lain. Tetapan set aksara MySQL adalah sangat penting untuk operasi yang betul dan penyimpanan data pangkalan data, dan UTF-8 ialah set aksara yang digunakan secara meluas yang menyokong kebanyakan bahasa di dunia, termasuk bahasa Cina, Inggeris, Jepun, dll. Oleh itu, menetapkan UTF-8 adalah penting apabila menggunakan MySQL. Berikut ialah cara untuk menyediakan UTF-8 dengan betul dalam MySQL.

1. Tetapan set aksara pangkalan data
Dalam MySQL, tetapan set aksara mempunyai dua parameter, satu set aksara pangkalan data, dan satu lagi set aksara sambungan. Apabila mencipta pangkalan data, anda boleh menetapkan set aksara lalai untuk pangkalan data dengan menentukan set aksara. Selepas log masuk ke MySQL, anda boleh melihat set aksara lalai pangkalan data melalui arahan berikut:

TUNJUKKAN PEMBOLEH UBAH SEPERTI 'character_set_database';

Jika set aksara yang dipaparkan dalam hasil pertanyaan ialah bukan UTF-8, ia perlu diubah suai set aksara lalai. Kaedah pengubahsuaian adalah seperti berikut:

  1. Buka fail konfigurasi MySQL my.cnf, cari bahagian [mysqld] dan tambah kod berikut:

[mysqld]
set aksara- server=utf8

  1. Mulakan semula perkhidmatan MySQL untuk melengkapkan pengubahsuaian set aksara lalai.

2. Tetapan set aksara sambungan
Apabila menyambung ke pangkalan data melalui klien MySQL, anda juga perlu menentukan set aksara sambungan ini boleh dicapai dengan menambah konfigurasi berikut:

mysql --default-character-set=utf8

Arahan di atas menunjukkan bahawa set aksara UTF-8 digunakan secara lalai semasa menyambung. Anda juga boleh mengubah suai dalam klien MySQL Kaedah pengubahsuaian adalah seperti berikut:

  1. Masukkan klien MySQL melalui arahan berikut:

mysql -u username-p.

  1. Selepas memasukkan kata laluan, masukkan arahan berikut untuk mengubah suai set aksara sambungan:

SET NAMA utf8;

Ini melengkapkan pengubahsuaian set aksara sambungan.

3. Tetapan set aksara jadual
Dalam MySQL, setiap jadual boleh mempunyai set aksara sendiri. Apabila membuat jadual, anda boleh menetapkan set aksara lalai jadual dengan menentukan set aksara. Jika tiada set aksara dinyatakan, set aksara lalai pangkalan data digunakan. Anda boleh menyemak set aksara jadual melalui arahan berikut:

TUNJUKKAN CREATE TABLE nama jadual

Jika hasil pertanyaan bukan UTF-8, anda perlu mengubah suai set aksara; meja itu. Kaedah pengubahsuaian adalah seperti berikut:

  1. Mengubah suai set aksara jadual boleh dicapai melalui pernyataan ALTER TABLE Penyataannya adalah seperti berikut:

jadual ALTER TABLE nama TUKAR KE SET KARAKTER utf8;

  1. Selepas pengubahsuaian, anda boleh menyemak sama ada set aksara jadual telah berjaya diubah suai dengan menjalankan arahan berikut:

SHOW CREATE Nama jadual JADUAL;

4. Aksara data Tetapkan tetapan
Selain tetapan set aksara di atas, terdapat satu lagi situasi yang memerlukan perhatian khusus, iaitu apabila memasukkan data ke dalam pangkalan data, jika set aksara sumber data tidak konsisten dengan set aksara pangkalan data, aksara bercelaru mungkin terhasil. Dalam kes ini, ia boleh diselesaikan dengan kaedah berikut:

  1. Tetapkan set aksara klien kepada UTF-8, iaitu kaedah yang disebut dalam tetapan set aksara sambungan.
  2. Apabila memasukkan data ke dalam pangkalan data, pengekodan UTF-8 perlu digunakan. Sebagai contoh, jika anda memasukkan data ke dalam jadual melalui pernyataan SQL, data tersebut hendaklah diberikan kepada pernyataan INSERT sebagai rentetan berkod UTF-8. Kodnya adalah seperti berikut:

INSERT INTO mytable (mycolumn) VALUES ('I love programming');

Dalam PHP, anda boleh menggunakan kod berikut untuk menukar rentetan kepada Pengekodan UTF-8 :

$utf_str = iconv('pengekodan semasa', 'UTF-8', $str);

Ini boleh mengelakkan aksara bercelaru yang disebabkan oleh pengekodan data yang tidak konsisten.

Ringkasan:
Sangat penting untuk menetapkan set aksara UTF-8 dalam MySQL Ini bukan sahaja dapat mengelakkan aksara bercelaru yang disebabkan oleh set aksara yang tidak konsisten, tetapi juga meningkatkan ketepatan dan pengendalian penyimpanan data. kecekapan. Apabila menetapkan set aksara, anda perlu memberi perhatian kepada pelbagai aspek seperti set aksara pangkalan data, set aksara sambungan, set aksara jadual, set aksara data, dan lain-lain untuk memastikan tetapan adalah betul untuk memastikan kestabilan sistem dan keselamatan data.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan pengekodan UTF-8 dalam 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