Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengalami masalah dengan penyimpanan UTF-8 di NVarChar di SQL Server 2008

Menemukannya! Saat menggunakan kelas WebClient, saya mengunduh data sebagai string.

Konfigurasi Asli Saya...

System.Net.WebClient wc = new WebClient();
string htmlData = wc.DownloadString(myUri);

Saya mencoba mengonversi data ini menjadi UTF-16...dari string saat ini, tetapi karena Microsoft beroperasi di UTF-16, ia telah menangani konversinya sendiri.

Sebagai gantinya, saya mengubah pendekatan saya untuk membaca array byte[] aktual dari data seperti ini...

System.Net.WebClient wc = new WebClient();
string htmlData = UTFConvert(wc.DownloadData(myUri));

private string UTFConvert(byte[] utfBytes)
{
    byte[] isoBytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, utfBytes);
    return Encoding.Unicode.GetString(isoBytes);
}

Ini memperbaiki masalah, dan SQL dengan benar melihat aksen dalam segala hal sekarang. Astaga.

Semangat semuanya, dan terima kasih atas bantuan Anda!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server :mengembalikan nama kolom berdasarkan nilai record

  2. Stempel waktu tanggal default SQL Server?

  3. SQL Server 2008 Menjalankan pemicu setelah Sisipkan, Pembaruan mengunci tabel asli

  4. Kesalahan konversi data beban massal (ketidakcocokan jenis atau karakter tidak valid untuk halaman kode yang ditentukan) untuk baris 1, kolom 4 (Tahun)

  5. Bagaimana cara mendapatkan hari terakhir minggu lalu di sql?