sql >> Database teknologi >  >> RDS >> Sqlserver

Har problemer med UTF-8-lagring i NVarChar i SQL Server 2008

Fandt ud af det! Da jeg brugte WebClient-klassen, downloadede jeg dataene som en streng.

Min oprindelige konfiguration...

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

Jeg forsøgte at konvertere disse data til en UTF-16...fra dens nuværende streng, men da Microsoft opererer i UTF-16, havde den håndteret konverteringen på egen hånd.

I stedet ændrede jeg min tilgang til at læse det faktiske byte[]-array fra dataene som sådan...

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

Dette løste problemet, og SQL ser korrekt accenterne i alt nu. Jeps.

Skål allesammen, og tak for jeres hjælp!



  1. søger på arabiske ord, der har diakritiske tegn i mysql

  2. Hvad er forskellen mellem C- og Posix-lokaliteter på Postgres?

  3. Hvordan får man antallet af elementer i et JSON-array gemt som CLOB med Oracle 12c?

  4. Dækker hex til billede i PHP?