解决办法:
查看服务器端字符集:
打开SQLPLUS,执行 SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET',其中'NLS_CHARACTERSET'必须为大写。
SQL>SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
ZHS16GBK
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
1. Linux 环境
在 Oracle 用户的 .bash_profile 文件中设置与数据库服务器端相同的字符集:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
2. Windows 环境
(1)打开注册表,依次进入HKEY_LOCAL_MACHINE→SOFTWARE→ORACLE→HOME0目录。
(2)查看 NLS_LANG 的值。
(3)将其修改为与数据库服务器端相同的字符集:AMERICAN_AMERICA.ZHS16GBK 。
或临时设定环境变量:
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK