西里尔文搜索

问题描述:

我修改了一个我为俄罗斯市场制作的应用程序。一切似乎都没有问题,当你将数据输入到数据库时出现了问题,但是通过将页面编码设置为utf-8解决了这个问题。所以插入和检索工作正常。我遇到了问题,我不知道如何解决。 当我在mssql查询分析器中运行以下查询(简化)(因此没有机会在代码中搞乱)时,即使认为有多个记录匹配,我也没有结果: (mysql的版本是2005)西里尔文搜索

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

即使我修改为:

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

或其他一些变化,它只是不工作。问题是为什么?

P.S.如果您在提交后看不到西里尔字母,它会将莫斯科搜索为城市。

任何人都有解决方案或想法该怎么办?

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

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

我会离开这个,以防其他人卡住它。

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