最近,我在使用Python解析时遇到了数据库表列中的unicode字符(\ u2019)。
问题:导致unicode字符出现在数据库表中的原因是什么?是数据输入问题吗?
感谢任何输入。
答案 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