场景:使用SqlServer Express LocalDB自动实例的默认排序为SQL_Latin1_General_CP1_CI_AS,当插入数据中有中文时,会出现乱码?
解决方法:创建完数据手动修改数据库的排序规则Chinese_PRC_CS_AI_WS(区分大小写)
1.实例:
---创建数据库
create database TestDB;
---修改数据 排序规则
alter database TestDB collate Chinese_PRC_CS_AI_WS;
2.创建表测试:
---创建表测试
create table Test1(
ID int identity(1,1),
Name nvarchar(100) null,
);
insert into Test1 values('张三2');
select * from Test1;
其他相关说明:
--更改排序规则。
alter database 数据库 collate 排序规格
其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。
如:alter database 数据库 COLLATE Chinese_PRC_CI_AS
不区分大小写,而
alter database 数据库 COLLATE Chinese_PRC_CS_AS
使之区分大小写。
---查询可用排序规则列表,好像总共3887个
SELECT * FROM ::fn_helpcollations()