笔者是Mac的追随者,无奈本学期数据库课要求使用Microsoft的SQL server。但是Microsoft并没有发布SQL server for Mac ,笔者使用Google搜索后,发现可以Mac可以使用Docker安装SQL server for Linux 版。通过笔者的努力成功将SQL server 在Mac上运行。
但是在安装后的8天。笔者发现Docker安装的SQL server 储存的中文是乱码的。所以笔者又通过Google搜索发现这可能是数据库创建时默认排序规则不是Chinese_PRC_CI_AS的。
网上有两种解决方案,一种就是更改系统的默认排序规则,另一种就是在创建数据库时将默认排序规则改成Chinese_PRC_CI_AS的。第一种方案需要系统的root权限,也就是需要sudo。
但是无奈Docker 模拟出的Linux 环境是没有sudo的。如下图:

那么就是第二种方案。那就在创建数据库更改默认排序规则为Chinese_PRC_CI_AS。SQL 语句为:
CREATE DATABASE Student
COLLATE Chinese_PRC_CI_AS;
在创表时就需要将CHAR VARCHAR等在前面加N
它表示存储的是Unicode数据类型的字符。例如:
NCHAR NVARCHAR
最后问题就解决了 :
效果如图:

如果读者有什么问题或者有什么建议,欢迎在底下评论
本文博客园地址:https://www.cnblogs.com/misubishi/p/9858791.html
(本人博客园账号)
转载请说明出处
本文介绍在Mac上使用Docker安装SQL Server for Linux遇到的中文乱码问题及解决方案。通过设置数据库默认排序规则为Chinese_PRC_CI_AS,并在创建表时使用Unicode数据类型,成功解决乱码问题。
3932

被折叠的 条评论
为什么被折叠?



