这个问题主要是字符集造成的。
以我的环境为例,oracle字符集为例:
输入sql语句select * from V$NLS_PARAMETERS查看字符集:
NLS_LANGUAGE | SIMPLIFIED CHINESE |
NLS_TERRITORY | CHINA |
NLS_CURRENCY | ¥ |
NLS_ISO_CURRENCY | CHINA |
NLS_NUMERIC_CHARACTERS | ., |
NLS_CALENDAR | GREGORIAN |
NLS_DATE_FORMAT | DD-MON-RR |
NLS_DATE_LANGUAGE | SIMPLIFIED CHINESE |
NLS_CHARACTERSET | AL32UTF8 |
NLS_SORT | BINARY |
NLS_TIME_FORMAT | HH.MI.SSXFF AM |
NLS_TIMESTAMP_FORMAT | DD-MON-RR HH.MI.SSXFF AM |
NLS_TIME_TZ_FORMAT | HH.MI.SSXFF AM TZR |
NLS_TIMESTAMP_TZ_FORMAT | DD-MON-RR HH.MI.SSXFF AM TZR |
NLS_DUAL_CURRENCY | ¥ |
NLS_NCHAR_CHARACTERSET | AL16UTF16 |
NLS_COMP | BINARY |
NLS_LENGTH_SEMANTICS | BYTE |
NLS_NCHAR_CONV_EXCP | FALSE |
应该是我的客户端环境中的字符集与之不匹配导致,修改本地环境:
打开注册表,找到
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\NLS_LANG
修改其值
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
为
SIMPLIFIED CHINESE_CHINA.AL32UTF8