sql >> Database >  >> RDS >> Sqlserver

Problemen met het opslaan van UTF-8 in NVarChar in SQL Server 2008

Heb het bedacht! Toen ik de WebClient-klasse gebruikte, was ik de gegevens aan het downloaden als een string.

Mijn oorspronkelijke configuratie...

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

Ik heb geprobeerd deze gegevens om te zetten in een UTF-16...van de huidige string, maar aangezien Microsoft in UTF-16 werkt, had het de conversie zelf gedaan.

In plaats daarvan veranderde ik mijn benadering om de feitelijke byte[]-array uit de gegevens te lezen, zoals zo...

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

Dit loste het probleem op, en SQL ziet nu correct de accenten in alles. Jippie.

Proost allemaal, en bedankt voor jullie hulp!



  1. N rijen selecteren in SQL Server

  2. MySQL geeft dubbele invoerfout bij het verhogen van het datumveld?

  3. Referentie niet ondersteund op groepsfunctie

  4. Dubbele invoer voor sleutel 'group_key'