1.问题场景
之前做的一个系统,有一个告警模块,数据存储在SqlServer,历史告警使用关键字检索,自己的实验室和现场均正常,最近发现在客户的实验室,中文关键字检索失败
2.原因分析
中文系统中数据库默认的字符集是简体中文,所以在查询语句中都能正常。英文系统数据库默认不是,所以sql查询语句出现了乱码,最终导致检索失败
3.问题解决
使用脚本将数据库字符集改为中文,就可以正常使用了
USE [master]
GO
-------------修改数据库为单用户模式----------------
alter database TestDb set single_user with rollback immediate;
-------------修改排序规则-------------
alter database TestDb collate Chinese_PRC_CI_AS;
------------重新设置为多用户模式-------------
alter database TestDb set multi_user;