sql-server - 西里尔字母搜索

标签 sql-server tsql sql-server-2005

我修改了我为俄罗斯市场制作的应用程序之一。一切似乎都很好,当您将数据输入数据库时​​出现问题,但通过将页面编码设置为 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/

相关文章:

sql - 如何使用表变量作为 OPENQUERY 的参数

sql-server - SQL Server 数据库名称中哪些字符有效?

sql - 使用 SSIS 和 SSMS - 尝试创建详细说明源列和目标列及其关系的 ETL 设计文档

sql-server-2005 - 如何从 SQL Server 表中恢复已删除的行?

sql - 全局临时表删除操作

sql-server - 使用代理执行 SSIS 包 - 无法获取 Proxy_id 的代理数据

c# - 相同的代码,不同的系统和不同的数据类型解释

sql-server - 使用 Sequelize 插入 SQL Server 时会丢失大浮点值

sql - 如何在 SSIS 包中设置变量?

sql - Access 有时会在保存新记录时跳转到现有记录 - Access2k FE/SQL2005 BE