none
SQL server 2017 标准版如何才能兼容中文和泰文 RRS feed

  • 问题

  • 我们买了一个SQL server 2017标准版数据库,为了搭建一套支撑中文,日文,泰语的系统,但现在nvarchar 的字段,插入时必须在前面加上N,否则会乱码,但这个在业务程序上做相当麻烦,所以想请教一下,有没有通过什么设置,能够直接兼容多种语言的
    2019年12月31日 13:24

答案

  • Hi 陈贵明,

    >>有没有通过什么设置,能够直接兼容多种语言的

    没有。由于Microsoft SQL Server不支持UTF-8,因此多语言支持受到限制。仅当一个数据库实例共享相同的字符集时,才可以支持多种语言。例如,一个数据库实例可以支持英语,法语和葡萄牙语,因为它们使用相同的字符集。数据库实例不能同时支持葡萄牙语和中文,因为它们具有不同的字符集。因此你还是需要添加N。

    Best regards,
    Cathy 

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to  MSDN Support, feel free to contact MSDNFSF@microsoft.com

    • 已标记为答案 陈贵明 2020年1月1日 7:29
    2020年1月1日 2:14

全部回复

  • Hi 陈贵明,

    >>有没有通过什么设置,能够直接兼容多种语言的

    没有。由于Microsoft SQL Server不支持UTF-8,因此多语言支持受到限制。仅当一个数据库实例共享相同的字符集时,才可以支持多种语言。例如,一个数据库实例可以支持英语,法语和葡萄牙语,因为它们使用相同的字符集。数据库实例不能同时支持葡萄牙语和中文,因为它们具有不同的字符集。因此你还是需要添加N。

    Best regards,
    Cathy 

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to  MSDN Support, feel free to contact MSDNFSF@microsoft.com

    • 已标记为答案 陈贵明 2020年1月1日 7:29
    2020年1月1日 2:14
  • 好的,谢谢 Cathy,我们再看看有没有什么办法处理这个问题,可能得考虑使用多个数据库或者其他在应用端处理的方法了。
    2020年1月1日 7:29
  • N 才能保证 unicode, 这和使用 utf8 来保证多语言是一个道理,都是避免 decode 导致的代码页异常
    2020年1月2日 1:05
  • SQL2019 supports utf8.
    2020年1月2日 18:01