项目场景:
往SQL Server数据库中写入数据,定义了其中一个字段类型为VARCHAR
类型,该字段类型的值为汉字
问题描述:
遇到的问题:
在写入数据后,通过查询语句来检查写入数据是否正确时,显示出的结果为???
的乱码。
原因分析:
通过查询资料得知:默认创建出来的数据库实例默认使用拉丁文编码,这导致了原有项目中 varchar 字段插入中文会乱码的问题。
解决方案:
-
通过修改字段类型使其正确显示汉字:将varchar类型修改为nvarchar;修改方法如下
alter table [tablename] alter column [字段名] nvarchar(200)
-
通过修改SQL Server的默认排序规则,步骤如下:
a. 先停止运行sqlserver
sudo systemctl stop mssql-server
b. 进入mssql的bin目录查看
mssql-conf
配置信息
c. 然后输入./mssql-conf
进行修改排序规则
回车之后输入Chinese_PRC_CI_AS
之后再回车,等待修改完成d. 重新启动sqlserver
sudo systemctl start mssql-server