【问题标题】:SQL Server - NVARCHAR needed for European Languages?SQL Server - 欧洲语言需要 NVARCHAR?
【发布时间】:2012-11-27 23:28:17
【问题描述】:

我们正在德国安装基于 Web 的应用程序(针对 SQL Server 2008 的 .NET)。我们正在使应用程序和数据库国际化。我意识到某些语言(例如在印度或中国)需要扩展字符集。这些扩展字符集需要 SQL Server 中的 NVARCHAR(而不是 VARCHAR)数据类型。

由于时间紧迫,我想在以后的版本中从 VARCHAR 过渡到 NVARCHAR。我已经研究过,但找不到这个问题的明确答案:

SQL Server 的 VARCHAR 数据类型是否完全支持德语?

【问题讨论】:

  • 不确定,但如果你选择UTF8作为collat​​ion,你应该没问题...
  • 我认为你需要 nvarchar。 stackoverflow.com/questions/612430/…
  • @webNoob:链接问题的接受答案似乎强制 UTF8 应该适用于 OP
  • 我一直被教导说,如果你的表中有不止一种语言,你应该使用 nvarchar。但是,是的,我试图回答一杯咖啡的问题,这让我失败了。
  • 我很好奇为什么你认为使用VARCHARNVARCHAR 更简单?既然您似乎知道您将需要对多种语言的支持,为什么不时不时将您的数据类型定义为NVARCHAR,那么您将完全没有未来的数据模型“转换”任务?为了回答您关于德语字符的直接问题(我假设您的意思是 ß Ö Ü 等),为什么不试试呢?使用您想要的排序规则和数据类型创建一个数据库(或表),然后进行试验。这会给你比在这里提问更快的答案,当然它仅限于德语。

标签: sql-server internationalization nvarchar


【解决方案1】:

CHAR 的默认编码是iso_1,实际上是ISO 8859-1。该标准的 Wikipedia page 声明德语已被完全覆盖,但其他欧洲语言则没有。

所以,如果你现在只关心德语,你可能会没事的。但实际上,您应该尽快迁移到 NVARCHAR!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 2019-12-26
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多