在 Ubuntu 上运行的 Microsoft SQL Server(SQL Server on Linux)是支持中文的,但需要注意 排序规则(Collation) 和 字符类型 的设置。
下面分点说明:
Microsoft 官方从 SQL Server 2017 开始支持 Linux(包括 Ubuntu),完全支持 Unicode(UTF-16),因此可以存储和处理中文。
nvarchar / nchar / ntextNVARCHAR(100)
NCHAR(10)
N 前缀:INSERT INTO t1(name) VALUES(N'中文');
varchar 可能乱码varchar 是否支持中文,取决于 排序规则SQL_Latin1_General_CP1_CI_AS)不支持中文如果主要使用中文,建议:
CREATE DATABASE test
COLLATE Chinese_PRC_CI_AS;
name NVARCHAR(50) COLLATE Chinese_PRC_CI_AS
常用中文排序规则:
Chinese_PRC_CI_AS(简体中文,不区分大小写)Chinese_PRC_CS_AS(区分大小写)locale
若不是 UTF-8,可修改:sudo locale-gen zh_CN.UTF-8
❌ “Ubuntu 不支持中文 SQL Server” —— 错误
✅ SQL Server on Linux 与 Windows 版功能基本一致
✅ Ubuntu 上的 SQL Server 支持中文
✅ 用 NVARCHAR + N'中文'
✅ 推荐中文排序规则
❌ 不要用默认 varchar 存中文
如果你需要,我可以给你一个 Ubuntu + SQL Server 中文测试示例 或 Docker 配置示例。