2009-01-21 6 views
7

Rus pazarı için yaptığım uygulamalardan birini değiştirdim. Her şey iyi görünüyordu, veritabanına veri girdiğinizde bir sorun vardı ama utf-8'e sayfa kodlaması ayarlayarak çözüldü. Yani takma ve alma işleri iyi. Soruna girdim, nasıl başa çıkacağımı bilmiyorum. mssql sorgu analizcisinde sorguyu (basitleştirilmiş) izlediğimde (kodda karışıklık olma şansı bulamadı), hiçbir eşleşme eşleşmesinin olmadığını bile tahmin edemiyorum: (mysql sürümü 2005)cyrillic arama

SELECT * 
FROM institutions 
WHERE city LIKE '%Москва%' 
ORDER BY address1 

olmasını değiştirmek bile :

SELECT * 
FROM institutions 
WHERE city='Москва' 
ORDER BY address1 

veya başka varyasyon, sadece çalışmıyor. Soru neden?

P.S. Bunu yaptıktan sonra kiril harfleri göremiyorsanız, Moskova'yı bir şehir olarak arar.

Herkesin ne yapması gerektiğine dair bir fikri veya fikri var mı?

cevap

21

Tamam sadece cevabı buldum ve bu lame :) biraz. Unicode dizesinin önüne N eklemeniz gerekir.

SELECT * FROM institutions WHERE city LIKE N'%Москва%' ORDER BY address1 

Başka birinin takılı kalması durumunda bunu bırakacağım.

3

N, SQL Server'a ascii olmayan bir unicode olduğunu bildirir