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

Problemi con l'archiviazione UTF-8 in NVarChar in SQL Server 2008

Capito! Quando utilizzavo la classe WebClient, stavo scaricando i dati come una stringa.

La mia configurazione originale...

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

Ho provato a convertire questi dati in un UTF-16... dalla stringa corrente, ma poiché Microsoft opera in UTF-16, ha gestito la conversione da solo.

Invece, ho cambiato il mio approccio alla lettura dell'attuale array byte[] dai dati in questo modo...

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

Questo ha risolto il problema e SQL ora vede correttamente gli accenti in tutto. Sì.

Ciao a tutti e grazie per il vostro aiuto!