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

Mengapa Watak Parsi Saya Bercelaru Selepas Penghijrahan Pangkalan Data?

Mary-Kate Olsen
Lepaskan: 2024-12-15 11:48:12
asal
916 orang telah melayarinya

Why Are My Persian Characters Garbled After Database Migration?

Menyahkod Isu Pengekodan Aksara dalam Storan Pangkalan Data

Situasi yang membingungkan timbul apabila memindahkan data tapak web lama ke skrip baharu. Aksara yang disimpan, yang asalnya diberikan dengan betul oleh skrip lama, kelihatan herot dalam skrip baharu. Selepas penyiasatan, didapati bahawa aksara disimpan dalam pengekodan yang luar biasa.

Skrip lama menggunakan enjin pangkalan data yang dipanggil TUBADBENGINE, yang tidak mempamerkan sebarang ciri pelik. Walau bagaimanapun, apabila data yang mengandungi aksara Parsi disisipkan menggunakan skrip lama, ia disimpan sebagai aksara yang kelihatan aneh dalam pangkalan data.

Sebaliknya, apabila data dimasukkan terus ke dalam pangkalan data menggunakan SQL, aksara yang betul dipelihara. Walau bagaimanapun, percubaan untuk mendapatkan semula data ini menggunakan skrip baharu menghasilkan aksara yang bercelaru.

Penyebabnya, seperti yang didedahkan dalam jawapan, ialah pengekodan aksara yang digunakan untuk sambungan pangkalan data. Dalam kes ini, sambungan pangkalan data telah ditetapkan kepada latin1, yang merupakan pilihan yang tidak sesuai untuk aksara Parsi. Akibatnya, aksara telah ditukar dengan salah semasa disimpan dalam pangkalan data.

Untuk menyelesaikan isu ini, kami perlu menukar data dalam pangkalan data kepada pengekodan aksara yang betul. Satu penyelesaian yang mungkin disediakan dalam jawapan ialah:

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

Pertanyaan ini boleh digunakan untuk mendapatkan semula data menggunakan pengekodan aksara yang betul. Kami kemudiannya boleh menggunakan hasil ini sebagai penyataan KEMASKINI untuk membetulkan data dalam pangkalan data secara kekal.

Setelah data dikodkan dengan betul, skrip baharu seharusnya boleh mendapatkan semula dan memaparkannya dengan betul.

Atas ialah kandungan terperinci Mengapa Watak Parsi Saya Bercelaru Selepas Penghijrahan 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