unicode字符是如何在数据库表列中结束的?

时间:2014-11-12 19:12:28

标签: oracle unicode

最近,我在使用Python解析时遇到了数据库表列中的unicode字符(\ u2019)。

问题:导致unicode字符出现在数据库表中的原因是什么?是数据输入问题吗?

感谢任何输入。

1 个答案:

答案 0 :(得分:0)

设置Oracle数据库时,选择将在SQL char 数据类型(char,varchar2等)中使用的字符集。

假设您选择了字符集,并且您有一个包含VARCHAR2类型列的表。突然,您需要存储一些字符串,其中包含数据库不支持的非ASCII符号(选定的字符集)。您可以通过调用ASCIISTR函数将此字符串转换为ASCII字符串并将其存储在VARCHAR2列中(但这不是一个好主意,因为许多SQL内置函数不理解'\ u2019'(他们认为它只是6个符号) ))。这就是Unicode可能出现在表列中的方式(ASCIISTR将非ascii符号转换为unicode表示形式,例如'\ u2019')。

另一个选项是特殊的Oracle nchar 数据类型,用于存储UNICODE而不改变全局数据库设置。

以下是与Oracle文档的链接:https://docs.oracle.com/cd/B19306_01/server.102/b14225/ch6unicode.htm