pl/sql查询数据库时中文字段为乱码
不是server端的问题,因为另一台机器可以;
解决办法:
可以按下面步骤修改:
1。select * from v$nls_parameters;
注意
NLS_LANGUAGE
NLS_TERRITORY
NLS_CHARACTERSET
2。修改或者添加本地环境变量,设置
LANG=AMERICAN_AMERICA.ZHS16GBK
NLS_LANG = AMERICAN.AMERICA.US7ASCII //这个是我们的数据库字符编码
因为我们用的数据库受别有原因的限制,只能用AMERICAN.AMERICA.US7ASCII当然,大多数情况下我们这样写
LANG=zh_CN.GBK
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
就差不多能解决问题了。
环境变量的知识:NLS_LANG,值为Oracle数据库设置的字符集,
NLS_LANG格式:
NLS_LANG = language_territory.charset
有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
charset 指定字符集