Boj*_*nSM 3 db2 collation encoding
好的,首先,我对数据库的了解非常有限。
我的下一个问题是:我插入了几行包含荷兰字符的数据,例如不同国家的名称。一些国家在其名称末尾有荷兰语特殊字符 ë,或者像乌克兰在 i 上有两个点(Servië、Oekraïne、Tunesië、Somalië 等...)。数据库中的这些字符如下所示:ë -> A? 和 ï -> AZ。
当然,我希望这些荷兰语字符显示在数据库中。
嗯,诀窍是数据库只能在创建时指定它用于哪个“区域设置”。创建数据库时,您可以通过指定代码集、地域和排序规则(示例CREATE DATABASE MYDB AUTOMATIC STORAGE YES ON '/data' DBPATH ON '/dbdir' USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM
)来指定所需的内容,或者让 DB2 根据某些系统设置进行猜测。
您可以通过运行来检查您的设置db2 get db cfg for <db name>
。在上面使用的情况下,您将看到以下内容:
Database territory = US
Database code page = 1208
Database code set = UTF-8
Database country/region code = 1
Database collating sequence = IDENTITY
Alternate collating sequence (ALT_COLLATE) =
Run Code Online (Sandbox Code Playgroud)
请注意,创建数据库后无法更改这些设置。一种选择是从您的数据库中导出数据(使用db2export
),删除并使用您想要的语言设置重建数据库,然后重新导入数据(使用db2import
)。
另一种选择是查看是否有一种方法可以将您的字符串表示为纯“位”数据并存储位序列而不是“字符串”或将字段声明为VARCHAR FOR BIT DATA
并将您的字符串存储为位序列(尽管我是对那个不是 100% 正面...)。
还可以查看下面的链接,因为它们有更多关于语言以及如何处理多代码页结果的信息。请注意,其中一些信息要求 DB2 至少为 9.5 或更高版本。
以及查看与该列表链接(不同代码页之间的字符转换)相关的整个多元文化支持父/兄弟链接。
归档时间: |
|
查看次数: |
1443 次 |
最近记录: |