Jag har en ASP.NET-site som jag kopplar upp mot en databas som körs på SQL Server 2000. Hoppsan. Hej, Visste inte att man med DataSets kan ställa in kultur. Då ska jag se hur jag får min data in i såna istället. Tack för hjälpen.åäö, SqlCommand och SQL Server 2000
Jag har problem med svenska tecken. Internt i databasen ser allt OK ut (när jag använder Web Data Administrator), med undantag för sorteringen (ÅÄ är likvärdiga A och Ö läggs tillsammans med O). Jag tog reda på att databasen har en äldre collation, SQL_Latin1_General_CP1_CI_AS.
När jag tar data från databasen, t ex för att fylla en DropDownList, blir också åäö rätt. Jag använder iso-8859-1 på alla ASP.NET-sidor (bytte till UTF-8 men det gjorde ingen skillnad).
Men när jag sedan väljer saker i dropdownlistan som har ÅÄÖ och använder dessa i queries blir det något fel och istället tar den första alternativet i dropdownlistorna. När jag också tittar på SQL-dumpfilen visas alla svenska tecken fel.
Finns det något enkelt sätt att lösa detta? Kanske något SQL-kommando för att ändra i databasen/tabellerna utan att behöva ändra i datatyper eller data, eller någon .NET-parameter jag kan ha på sidorna. Är annars en lösning att droppa hela databasen och göra en search & replace i dumpfilen så att alla VARCHAR blir NVARCHAR et c och även search & replace "ä" till "ä" o s v och sen återimportera den?
Tacksam för all hjälpSv: åäö, SqlCommand och SQL Server 2000
Efter att ha läst runt lite här ser jag att man kunde ändra locale med Session.LcID=1053!
Detta löste mitt problem i nuläget, men hur kommer det fungera om en engelsk användare använder siten?
Och finns det något enkelt sätt att ordna sorteringen för ÅÄÖ så att jag får saker som börjar med dessa sist i listorna?Sv: åäö, SqlCommand och SQL Server 2000
Du behöver inte i ASP .Net köra Session.LcID=1053, det är mer rekomenderat att du ändrar Request eller response contexten i web.config.
Du bör köra nVarchar och inte varchar, detta kommer lösa mång aproblem med åäö och andra konstiga tecken. Detta för att nVarchar kör på unicode vilket hela .net ramverk är baserat på, varchar kör på non-unicode context.
"Och finns det något enkelt sätt att ordna sorteringen för ÅÄÖ så att jag får saker som börjar med dessa sist i listorna?"
Menar du sortering som baseras på de länder man är ifrån? När du har svensk sql server eller språkinställning i OSet så skall du automatiskt få denna sortering. Annars kan du i databasen för varje tabel ändra dess sortorder. (dock blir detta statiskt för hela applikationen.) du kan med DataSets sätta en kultur vilket gör att din data blir sorterad efter kulturens sätt. Ex. I sverige är ju V o W samma, men separeras om kulturen är exempelvis engelsk. Var dett detta du var ute efter?
Mvh JohanSv: åäö, SqlCommand och SQL Server 2000