2009-01-21 111 views
7

我修改了一個我爲俄羅斯市場製作的應用程序。一切似乎都沒有問題,當你將數據輸入到數據庫時出現了問題,但是通過將頁面編碼設置爲utf-8解決了這個問題。所以插入和檢索工作正常。我遇到了問題,我不知道如何解決。 當我在mssql查詢分析器中運行以下查詢(簡化)(因此沒有機會在代碼中搞亂)時,即使認爲有多個記錄匹配,我也沒有結果: (mysql的版本是2005)西里爾文搜索

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

即使我修改爲:

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

或其他一些變化,它只是不工作。問題是爲什麼?

P.S.如果您在提交後看不到西裏爾字母,它會將莫斯科搜索爲城市。

任何人都有解決方案或想法該怎麼辦?

回答

21

行剛剛找到答案,它是跛腳:)一點點。您需要在unicode字符串前添加N.

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

我會離開這個,以防其他人卡住它。

3

N告訴SQL Server它是unicode而不是ascii