Oracle的PLSQL别名中文出现乱码解决方法
乱码之乱,乱在心里。行而上,眼迷茫!
01、查询oracle服务端默认语言
select * from nls_database_parameters
NLS_LANGUAGE AMERICAN ###客户端编码 NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY AMERICA NLS_NUMERIC_CHARACTERS ., NLS_CHARACTERSET ZHS16GBK ###数据库中文字符集 NLS_CALENDAR GREGORIAN NLS_DATE_FORMAT DD-MON-RR ###日期格式 NLS_DATE_LANGUAGE AMERICAN 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_COMP BINARY NLS_LENGTH_SEMANTICS BYTE NLS_NCHAR_CONV_EXCP FALSE NLS_NCHAR_CHARACTERSET AL16UTF16 ###国家字符集 NLS_RDBMS_VERSION 11.2.0.1.0
02、设置PL/SQL机器环境变量
由于我的PLSQL使用的不是Oracle-client客户端,用的是oracle的instantclient-basic-nt-11.2.0.4.0,故只需要设置windows的系统环境变量即可
NLS_LANG,值是:AMERICAN.ZHS16GBK
注意:截图中多个点,大家去掉就OK了。
#设置-Windows-客户端字符集,防止imp/exp导入导出字符集问题
NLS_LANG
AMERICAN_AMERICA.AL32UTF8 #服务端对齐语言
AMERICAN.AL32UTF8