SQL Server 插入中文乱码

解决

方法1

修改varchar 为 nvarchar类型, 并在插入数据前加N,例如:

insert into table_name(a) values (N'中文')

方法2

如果不修改字段类型,还是 varchar,则需要修改数据库的 Collocation 为 Chinese_PRC_CI_AS

-- 1.修改为单用户模式
ALTER DATABASE db_database SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

-- 2.修改数据库字符集为Chinese_PRC_90_CI_AS
ALTER DATABASE db_database COLLATE Chinese_RPC_90_CI_AS;

-- 3.再修改为多用户模式
ALTER DATABASE db_database SET MULTI_USER;

新建表时指定

create table test
(
 a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,
 b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL
)
posted @ 2022-07-22 09:33  临渊不羡渔  阅读(744)  评论(0编辑  收藏  举报