从oracle数据库中插入并选择中文单词

时间:2013-03-01 10:21:55

标签: database oracle

我试图将中文单词插入到oracle数据库中,但无论如何都无法正常显示,这是我的数据库设置

SQL> select * FROM nls_database_parameters where parameter='NLS_NCHAR_CHARACTERSET';


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_NCHAR_CHARACTERSET
AL16UTF16

SQL> select * FROM nls_database_parameters where parameter='NLS_CHARACTERSET';

PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8

当我复制/粘贴到我的SQLPLUS中运行查询时,中文字符将是“..”。 我使用的版本是Oracle Database 11g版本11.2.0.3.0 - 64位。 任何提示?

1 个答案:

答案 0 :(得分:0)

可能有几个问题:

1)字符无法存储在数据库中。

2)根据客户语言设置,可能会将字符转换为其他字符。

3)您使用的工具无法显示字符。

-

1)检查字符存储在表格中的字节值。

select dump(column) from table where ...

转储功能将显示字节值,您可以检查列中是否存储了正确的字节。

2)检查客户端上的NLS_LANG设置。

3)如果表中存储了正确的字节,并且由于服务器和客户端之间的NLS_LANG不匹配而没有将它们转换为其他字节,那么您的工具可能无法正确显示字符。我很确定SQLPlus的界面非常有限。也许SQL Developer可以显示更广泛的字符。