Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memperbaiki Pengekodan UTF-8 Patah dalam MySQL dan PHP?

Bagaimana untuk Memperbaiki Pengekodan UTF-8 Patah dalam MySQL dan PHP?

DDD
DDDasal
2024-11-26 05:24:091047semak imbas

How to Fix Broken UTF-8 Encoding in MySQL and PHP?

Membetulkan Pengekodan UTF-8 yang Rosak

Apabila berurusan dengan pengekodan UTF-8, adalah perkara biasa untuk menemui aksara yang rosak seperti î kerana salah pengendalian. Isu ini boleh timbul daripada konfigurasi pangkalan data, tetapan PHP atau pengekodan editor teks.

Set Aksara MySQL dan Pengepala PHP

Pastikan pangkalan data MySQL anda menggunakan UTF -8 pengumpulan seperti utf8_general_ci. Selain itu, sahkan bahawa kod PHP anda termasuk pengepala UTF-8 yang betul, seperti:

<?php
header("Content-Type: text/html; charset=utf-8");
?>

Menyemak Notepad dan phpMyAdmin

Sahkan bahawa Notepad dikonfigurasikan untuk digunakan UTF-8 tanpa BOM. Dalam phpMyAdmin, pastikan pengekodan aksara ditetapkan kepada UTF-8 untuk paparan data dan eksport SQL.

Mengenal pasti Aksara Beraksen yang Patah

Walaupun tidak semua aksara beraksen mungkin turutan pecah biasa yang terjejas termasuk î, àdan ü. Aksara ini masing-masing mewakili versi aksen "e," "i" dan "u".

Penyelesaian: Pembetulan Pengekodan Berganda

Jika anda mengesyaki pengekodan dua kali aksara UTF-8, pertimbangkan untuk menggunakan prosedur berikut:

  1. Buang data MySQL anda menggunakan:
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
  1. Muat semula data ke dalam set aksara UTF-8:
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Proses ini secara paksa menukar aksara dwikod kepada sah UTF-8.

Sumber:
[Membetulkan Data UTF-8 Berekod Berganda dalam MySQL](http://blog.hno3.org/2010/04/22/fixing -double-encoded-utf-8-data-in-mysql/)

Atas ialah kandungan terperinci Bagaimana untuk Memperbaiki Pengekodan UTF-8 Patah dalam MySQL dan PHP?. 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