Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membetulkan Pengekodan UTF-8 yang Rosak dalam Pangkalan Data MySQL Saya?

Bagaimanakah Saya Boleh Membetulkan Pengekodan UTF-8 yang Rosak dalam Pangkalan Data MySQL Saya?

DDD
DDDasal
2024-12-09 14:20:15455semak imbas

How Can I Fix Broken UTF-8 Encoding in My MySQL Database?

Membetulkan Pengekodan UTF-8 Rosak: Penyelesaian Praktikal

Latar Belakang:

Pengguna kerap menghadapi masalah dengan pengekodan UTF-8 yang rosak, dicirikan oleh aksara seperti î dan bukannya beraksen watak. Masalah ini timbul daripada ketidakkonsistenan dalam pengumpulan pangkalan data, tetapan PHP dan kaedah storan.

Memetakan Aksara Patah untuk Membetulkan UTF-8:

Untuk menyelesaikan isu ini, satu cara yang berkesan pendekatan melibatkan proses pembuangan dan import semula pangkalan data MySQL. Kaedah ini membenarkan penukaran aksara yang rosak kepada perwakilan UTF-8 yang betul.

Pembetulan Langkah demi Langkah:

1. Dump the MySQL database using the following command:

mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
--skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql

2. Import the dumped data back into a new database with the correct UTF-8 settings:

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Sumber:

Penyelesaian ini berdasarkan teknik yang diterangkan dalam:
http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/

Nota Tambahan:

  • Pastikan pengumpulan pangkalan data ditetapkan kepada utf8_general_ci.
  • Sahkan bahawa PHP menggunakan pengepala UTF-8 yang betul.
  • Gunakan editor teks yang menyokong UTF-8 tanpa BOM.
  • Walaupun bukan semua contoh aksara beraksen mungkin rosak, kaedah ini harus menangani kebanyakan kes.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Pengekodan UTF-8 yang Rosak dalam Pangkalan Data MySQL Saya?. 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