Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Watak Parsi Saya Bercelaru Selepas Penukaran Pangkalan Data?

Mengapa Watak Parsi Saya Bercelaru Selepas Penukaran Pangkalan Data?

Mary-Kate Olsen
Lepaskan: 2024-12-15 03:36:10
asal
395 orang telah melayarinya

Why Are My Persian Characters Garbled After a Database Conversion?

Kuantari Pengekodan Aksara Pelik: Kehilangan Data Tersimpan dalam Penukaran Pangkalan Data

Soalan:

Dalam usaha untuk merombak yang sedia ada laman web, pembangun menghadapi isu pengekodan aksara yang membingungkan. Skrip asal memaparkan aksara Parsi dengan betul, menggunakan enjin pangkalan data TUBADBENGINE, manakala skrip yang diubah suai menunjukkan data yang sama dalam format yang tidak dapat ditafsirkan. Apakah yang boleh menjadi punca asas percanggahan ini?

Jawapan:

Perbezaan berpunca daripada konfigurasi sambungan pangkalan data yang tidak ditetapkan kepada pengekodan aksara yang sesuai.

Masalahnya:

  1. Kedai PHP rentetan Parsi sebagai UTF-8 bait.
  2. Sambungan pangkalan data menghantar bait tersebut dengan mengandaikan pengekodan Latin1, yang mana ia bukan.
  3. Pangkalan data mentafsir bait dalam Latin1, menyimpan aksara yang salah.
  4. Apabila skrip yang dirombak mendapatkan semula data, PHP menjangkakan pengekodan UTF-8 dan mentafsir bait dengan tidak betul.

Penyelesaian:

Untuk menyelesaikan isu ini, sambungan pangkalan data mesti ditetapkan kepada pengekodan aksara yang betul. Penukaran ini membetulkan aksara yang disimpan dan memastikan skrip yang dirombak memaparkan data dengan betul.

Selain itu, pertanyaan berikut boleh digunakan untuk menukar data yang terjejas dalam pangkalan data:

SELECT CONVERT(BINARY CONVERT(field_name USING latin1) USING utf8) FROM table_name
Salin selepas log masuk

Sekali penukaran telah berjaya diselesaikan, ia boleh dibuat kekal dengan mengemas kini jadual yang terjejas dengan data yang ditukar.

Atas ialah kandungan terperinci Mengapa Watak Parsi Saya Bercelaru Selepas Penukaran Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan