我修改了我为俄罗斯市场制作的应用程序之一。一切似乎都很好,当您将数据输入数据库时出现问题,但通过将页面编码设置为 utf-8 解决了这个问题。所以插入和检索工作正常。我遇到了问题,我只是不知道如何解决。 当我在 mssql 查询分析器中运行以下查询(简化)时(因此它不可能在代码中困惑),即使有许多记录匹配,我也没有得到任何结果: (mysql版本为2005)
SELECT *
FROM institutions
WHERE city LIKE '%Москва%'
ORDER BY address1
即使我将其修改为:
SELECT *
FROM institutions
WHERE city='Москва'
ORDER BY address1
或其他一些变体,它只是不起作用。问题是为什么?
附注如果我提交后您看不到西里尔字母,它会搜索莫斯科作为一个城市。
有人有解决方案或想法该怎么做吗?
最佳答案
好吧,刚刚找到了答案,但它有点蹩脚:)。您需要在 unicode 字符串前面添加 N。
SELECT * FROM institutions WHERE city LIKE N'%Москва%' ORDER BY address1
我会留下这个,以防其他人遇到困难。
关于sql-server - 西里尔字母搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466745/