我试图将中文单词插入到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位。 任何提示?
答案 0 :(得分:0)
可能有几个问题:
1)字符无法存储在数据库中。
2)根据客户语言设置,可能会将字符转换为其他字符。
3)您使用的工具无法显示字符。
-
1)检查字符存储在表格中的字节值。
select dump(column) from table where ...
转储功能将显示字节值,您可以检查列中是否存储了正确的字节。
2)检查客户端上的NLS_LANG设置。
3)如果表中存储了正确的字节,并且由于服务器和客户端之间的NLS_LANG不匹配而没有将它们转换为其他字节,那么您的工具可能无法正确显示字符。我很确定SQLPlus的界面非常有限。也许SQL Developer可以显示更广泛的字符。