Menyelesaikan Isu Pengekodan Teks dalam MySQL dan C# dengan Rangka Kerja Entiti
Apabila menyambung ke pangkalan data MySQL dengan pengekodan lapuk seperti UTF-8 menggunakan Rangka Kerja Entiti ADO.NET, herotan dalam rentetan yang diambil mungkin berlaku. Ini terbukti apabila aksara dengan tanda diakritik muncul sebagai simbol yang pelik, seperti ë diwakili sebagai ë.
Mengenal pasti Masalah
Isu ini berpunca daripada ketidakpadanan antara pengekodan pangkalan data dan pengekodan yang diharapkan oleh aplikasi. Pada mulanya, percubaan untuk menukar data daripada UTF8 kepada UTF16 untuk menyelesaikan masalah terbukti tidak berjaya. Ini menunjukkan bahawa pangkalan data atau sambungan antara pangkalan data dan aplikasi memerlukan pelarasan selanjutnya untuk memastikan pengekodan data yang betul.
Penyelesaian
Untuk membetulkan isu ini dengan berkesan, dua langkah penting mesti diambil:
Ubah Suai Rentetan Sambungan: Sertakan parameter Charset=utf8; dalam rentetan sambungan untuk menandakan bahawa sambungan harus menggunakan pengekodan UTF-8. Contohnya:
"Server=localhost;Database=test;Uid=test;Pwd=test;Charset=utf8;"
Nota: Beri perhatian kepada selongsong kerana ia boleh memberi kesan kepada kefungsian parameter Charset. Sesetengah pengguna telah melaporkan kejayaan dengan CharSet=UTF8; manakala Charset=utf8; gagal menangani isu tersebut.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Isu Pengekodan Teks apabila Menyambung ke MySQL dengan Rangka Kerja Entiti dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!