我修改了我为俄罗斯市场制作的一个应用程序。一切似乎都很好,当您将数据输入数据库时出现问题但是通过将页面编码设置为utf-8来解决问题。因此插入和检索工作正常。我遇到问题我只是不知道如何解决。 当我在mssql查询分析器中运行以下查询(简化)时(因此没有机会在代码中搞砸了),即使有很多记录匹配,我也没有得到任何结果: (mysql的版本是2005年)
SELECT *
FROM institutions
WHERE city LIKE '%Москва%'
ORDER BY address1
即使我将其修改为:
SELECT *
FROM institutions
WHERE city='Москва'
ORDER BY address1
或其他一些变体,它只是不起作用。问题是为什么?
P.S。如果在我提交之后你看不到西里尔字母,它会搜索莫斯科作为一个城市。
任何人都有解决方案或想法该做什么?
答案 0 :(得分:26)
好的,只是发现了答案而且很蹩脚:)您需要在unicode字符串前面添加N.
SELECT * FROM institutions WHERE city LIKE N'%Москва%' ORDER BY address1
我会留下这个以防万一其他人卡住它。
答案 1 :(得分:4)
N告诉SQL Server它是unicode而不是ascii