gpt4 book ai didi

sql - 法语和西类牙语的特殊字符可以保存在 varchar 中吗?

转载 作者:行者123 更新时间:2023-12-04 02:46:38 24 4
gpt4 key购买 nike

法语和西类牙语中有特殊字符,在普通英语中不使用(重音元音等)。

varchar 支持这些字符吗?或者我需要他们的 nvarchar 吗?

(注意:我做 不是 想要讨论我是否应该使用 nvarchar 或 varchar。)

最佳答案

您在谈论什么 SQL 实现?

我可以谈谈 Microsoft Sql Server;其他 SQL 实现,没有那么多。

对于 Microsoft SQL Server,默认排序规则是 SQL_Latin1_General_CP1_CI_AS (Latin 1 General,大小写保留,不区分大小写,区分重音)。它允许 的往返表示大多数单字节形式 (varchar) 而不是双字节形式 (nvarchar) 的西欧语言。

它建立在“Windows 1252”代码页上。该代码页实际上是 ISO-8859-1,代码点范围 0x80–0x9F 由一组备用字形表示,包括 0x80 处的欧元符号。 ISO-8859-1 将代码点范围指定为控制字符,没有图形表示。

ISO-8859-1 由 Unicode 基本多语言平面的前 256 个字符组成,涵盖了 8 位字符 (0x00–0xFF) 的整个域。有关详细信息和比较,请参阅

  • Unicode CO Controls and Basic Latin
  • Unicode C1 Controls and Latin-1 Supplement
  • Window 1252 Code Page
  • ISO-8859-1

  • 难以处理此整理顺序的西欧语言包括(但不一定限于)拉脱维亚语、立陶宛语、Polich、捷克语和斯洛伐克语。如果您需要支持这些,您要么需要使用不同的排序规则(SQL Server 提供了大量的排序规则),要么改用 nvarchar。

    应该注意,在数据库中混合排序规则往往会导致问题。只有在必要时才应该偏离默认排序规则,并且了解如何用它来射击自己。

    我怀疑 Oracle 和 DB2 提供了类似的支持。我不知道 MySQL 或其他实现。

    关于sql - 法语和西类牙语的特殊字符可以保存在 varchar 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7182275/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com