Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyelesaikan Pengekodan Aksara Ganjil dalam Rentetan MySQL Apabila Menggunakan C# dan Rangka Kerja Entiti?

Bagaimana untuk Menyelesaikan Pengekodan Aksara Ganjil dalam Rentetan MySQL Apabila Menggunakan C# dan Rangka Kerja Entiti?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 02:49:29106semak imbas

How to Resolve Odd Character Encodings in MySQL Strings When Using C# and Entity Framework?

Memahami Ralat Pengekodan Teks C# MySQL

Dalam pertanyaan ini, kami meneroka isu biasa yang dihadapi apabila berinteraksi dengan pangkalan data MySQL daripada aplikasi C# .NET menggunakan Rangka Kerja Entiti, di mana rentetan yang diambil mempamerkan pengekodan aksara yang tidak dijangka.

Pernyataan Masalah

Apabila mendapatkan semula data daripada pangkalan data MySQL yang dikonfigurasikan dengan pengekodan UTF-8, aksara aneh muncul dalam keputusan. Sebagai contoh, "ë" diterjemahkan sebagai "ë". Menukar daripada UTF8 kepada UTF16 menggunakan Encoding.Unicode.GetString() terbukti tidak berkesan.

Penyelesaian

Untuk membetulkan isu ini, dua langkah penting diperlukan:

  1. Pastikan Pengumpulan UTF-8: Sahkan bahawa himpunan untuk pangkalan data atau jadual yang dimaksudkan ialah himpunan UTF-8, seperti utf8_general_ci.
  2. Tambah Aksara Tetapkan kepada Rentetan Sambungan: Tambah Charset=utf8; kepada rentetan sambungan. Contohnya:
"Server=localhost;Database=test;Uid=test;Pwd=test;Charset=utf8;"

Nota: Adalah penting untuk memastikan kepekaan huruf besar bagi parameter Charset. CharSet=UTF8; mungkin tidak dapat dikenali.

Dengan melaksanakan langkah-langkah ini, data yang diambil daripada pangkalan data MySQL akan dipaparkan dengan betul dalam pengekodan UTF-8 yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengekodan Aksara Ganjil dalam Rentetan MySQL Apabila Menggunakan C# dan Rangka Kerja Entiti?. 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