Jeśli spróbuję utworzyć selekcję ze znakami specjalnymi (nordyckimi), takimi jak:
Select * from users where name like "%æ%"
Po prostu wybiera wszystkich użytkowników zamiast tych, którzy zawierają literę „…”.
Czy muszę zainstalować jakieś specjalne sterowniki do bazy danych, czy też coś jeszcze przeoczyłem?
Aktualizacja:
Korzystam z bazy danych SQL Server 2008, zestawienie jest ustawione na „SQL_Latin1_General_CP1_CI_AS”, a pole danych to dopuszczalny typ nVarChar.
Odpowiedzi:
4 dla odpowiedzi № 1Najprawdopodobniej problem z sortowaniem lub typem danych
Przykład podaje 97 i 230
SELECT ASCII("æ" COLLATE Albanian_CI_AI), ASCII("æ" COLLATE Latin1_General_CI_AS)
Potrzebujemy więcej informacji w zasadzie.
Edytować: Pytanie o duński / norweski å (chociaż nierozwiązane)
Edycja 2: zmień kod na ten, jeśli nazwa to nvarchar, aby literał również stał się Unicode.
Select * from users where name like N"%æ%"
0 dla odpowiedzi nr 2
Upewnij się, że używasz rozszerzonego zestawu znaków (utf-8) i wszystko powinno być w porządku.
0 dla odpowiedzi № 3
powinno działać poprawnie.
ale spróbuj tego Select * from users where name like "%[æ]%"