Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 配置数据库 » 国际语言和字符集 » 字符集转换

 

SQL 语句和字符集

SQL Anywhere 服务器字符集转换,会在分析和执行之前将所有 SQL 语句转换为数据库字符集。此转换的副作用是,任何不能在 SQL 语句中转换为数据库字符集的字符会转换为替换字符。通过以下方法之一可以执行包含任意一个 Unicode 字符的 SQL 语句:

  • 使用 UNISTR 函数指定 Unicode 字符值

  • 使用主机变量指定 Unicode 字符值

  • 将 UTF-8 用作数据库字符集

如果选择 UTF8BIN 作为 char 归类,则数据库字符集为 UTF-8。如果指定 UTF-8 编码,则 char 归类是 UCA。

Unicode 归类算法 (UCA) 提供高级的比较、排序和大小写转换,但会影响性能。虽然 UTF8BIN 既节省空间又快,但其排序顺序和比较是二进制的。如果在 SQL 语句中需要 Unicode 字符但不需要 UCA 的全部功能来进行排序和比较,则可将 char 归类指定为 UTF8BIN。仅在必要时通过 SORTKEY 和 COMPARE 函数来使用 UCA。

 另请参见