西里尔文搜索
问题描述:
我修改了一个我为俄罗斯市场制作的应用程序。一切似乎都没有问题,当你将数据输入到数据库时出现了问题,但是通过将页面编码设置为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