温馨提示×

ubuntu sqlserver支持中文吗

小樊
46
2026-09-03 17:37:10
栏目: 云计算

Ubuntu 上运行的 Microsoft SQL Server(SQL Server on Linux)是支持中文的,但需要注意 排序规则(Collation)字符类型 的设置。

下面分点说明:


1. SQL Server on Ubuntu 本身支持中文

Microsoft 官方从 SQL Server 2017 开始支持 Linux(包括 Ubuntu),完全支持 Unicode(UTF-16),因此可以存储和处理中文。


2. 中文支持的关键点

✅ 使用 nvarchar / nchar / ntext

  • 推荐使用 Unicode 类型
    NVARCHAR(100)
    NCHAR(10)
    
  • 插入中文时必须加 N 前缀:
    INSERT INTO t1(name) VALUES(N'中文');
    

⚠️ 使用 varchar 可能乱码

  • varchar 是否支持中文,取决于 排序规则
  • 某些 SQL Server 默认排序规则(如 SQL_Latin1_General_CP1_CI_AS不支持中文

3. 排序规则(Collation)建议

如果主要使用中文,建议:

  • 数据库级:
    CREATE DATABASE test
    COLLATE Chinese_PRC_CI_AS;
    
  • 或字段级指定:
    name NVARCHAR(50) COLLATE Chinese_PRC_CI_AS
    

常用中文排序规则:

  • Chinese_PRC_CI_AS(简体中文,不区分大小写)
  • Chinese_PRC_CS_AS(区分大小写)

4. Ubuntu 系统环境注意

  • 系统 locale 不影响 SQL Server 中文存储
  • 但建议 Ubuntu 设置 UTF-8:
    locale
    
    若不是 UTF-8,可修改:
    sudo locale-gen zh_CN.UTF-8
    

5. 常见误区

❌ “Ubuntu 不支持中文 SQL Server” —— 错误
✅ SQL Server on Linux 与 Windows 版功能基本一致


总结

Ubuntu 上的 SQL Server 支持中文
✅ 用 NVARCHAR + N'中文'
✅ 推荐中文排序规则
❌ 不要用默认 varchar 存中文

如果你需要,我可以给你一个 Ubuntu + SQL Server 中文测试示例Docker 配置示例

0