Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membetulkan Watak Bercelaru (seperti \'î\') Disebabkan oleh Pengekodan UTF-8 Cacat dalam PHP dan MySQL?

Bagaimanakah Saya Boleh Membetulkan Watak Bercelaru (seperti \'î\') Disebabkan oleh Pengekodan UTF-8 Cacat dalam PHP dan MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-04 20:58:11497semak imbas

How Can I Fix Garbled Characters (like

Membetulkan Pengekodan UTF-8 Cacat

Dalam persekitaran PHP 5 dan MySQL, pengekodan UTF-8 yang rosak boleh nyata sebagai aksara yang bercelaru seperti "à®". Untuk membetulkan isu ini, pertimbangkan untuk menggunakan strategi berikut:

Mengatasi Pengumpulan Pangkalan Data:

  • Pastikan pengumpulan pangkalan data ditetapkan kepada "utf8_general_ci" atau a serasi UTF-8 yang serupa penyusunan.

Mengesahkan Konfigurasi PHP:

  • Sahkan bahawa skrip PHP menyertakan pengepala UTF-8 yang sesuai, seperti "Content-Type: text/html; charset=UTF-8".

Menyemak Editor Teks Tetapan:

  • Tetapkan Notepad untuk menggunakan pengekodan UTF-8 tanpa Tanda Pesanan Bait (BOM).

Memetakan Aksara Rosak:

  • Buat fungsi tersuai yang mengenal pasti dan menggantikan jujukan aksara yang rosak (cth., "î") dengan persamaan UTF-8 yang betul.

Menggunakan Dump/Restore Pangkalan Data:

  • Lakukan pangkalan data penuh buang menggunakan arahan berikut:
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
  • Pulihkan pangkalan data menggunakan arahan berikut:
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Perhatikan bahawa penyelesaian ini paling berkesan untuk kes aksara UTF-8 yang dikodkan dua kali (cth., petikan pintar, sempang, dsb.). Adalah penting untuk mengesahkan isu pengekodan aksara khusus dalam kes anda sebelum menggunakan sebarang pembetulan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Watak Bercelaru (seperti \'î\') Disebabkan oleh Pengekodan UTF-8 Cacat dalam PHP dan 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