我们日常写Sql语句向数据库插入中文时
如以下语句
其中name字段有中文
执行之后的结果却是这样的
这是因为数据库的排序规则设置的问题导致的
具体排序规则的详细如需了解,以下两个链接里有详细的介绍以及查询实例中的排序规则的方法
我们这里直接通过写Sql语句去解决这个问题
ALTER DATABASE 你要更改的数据库的名字 COLLATE Chinese_PRC_CI_AS
如果语句执行的时间过长,然后报了错,不要慌
我们重启MSSQL服务后再次执行就可以
下面说下Windows和Linux分别如何重启MSSQL服务
Windows下重启MSSQL服务:
右键我的电脑,点击管理
根据图中箭头依次操作即可重启MSSQL服务
Linux下重启MSSQL服务:
关闭: systemctl stop mssql-server
打开: systemctl start mssql-server
即可
重启服务后我们已经可以正常执行修改排序规则的语句
这里我们要注意一下,并不代表更改后,表的排序规则就改了
如果你不删除表,只是清空,那依然还是会乱码或者问号?
所以我们删表(Drop Table)之后再插入
已恢复正常中文显示
希望可以解决你的问题!