Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Имате проблеми със съхраняването на UTF-8 в NVarChar в SQL Server 2008

Разбрах го! Когато използвах класа WebClient, изтеглях данните като низ.

Моята оригинална конфигурация...

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

Опитах се да преобразувам тези данни в UTF-16...от текущия им низ, но тъй като Microsoft работи в UTF-16, той се справи с преобразуването сам.

Вместо това смених подхода си към четене на действителния масив byte[] от данните така...

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);
}

Това коригира проблема и SQL вече вижда правилно акцентите във всичко. Пий.

Наздраве на всички и благодаря за помощта!



  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 - изчисляване на изминалото време между две маркировки за дата и час във формат HH:MM:SS

  2. каскадно изтрива, причинявайки множество каскадни пътища

  3. Запитване на SQL Server:Бързо с буквално, но бавно с променлива

  4. Да се ​​изтрие ли един запис от Entity Framework?

  5. да мигрирате данни от MS SQL към PostgreSQL?