pl/sql 设置编码

登录PLSQL/Developer是提示 客户端和服务端的字符编码设置不一致导致的。
上网 得知oralce字符编码设置和查询的一些方法,记录如下:

1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>

NLS_LANG各部分含义如下:
LANGUAGE指定:-Oracle消息使用的语言;-日期中月份和日显示
TERRITORY指定-货币和数字格式;-地区和计算星期及日期的习惯
CHARACTERSET:-控制客户端应用程序使用的字符集,通常设置或者等于客户端(如Windows)代码页,或者对于unicode应用设置为UTF8

/* 查看数据库编码 关键LANG和NLS_LANG参数*/

select * from v$nls_parameters;

/* 方法1,修改环境变量 linux和windows相同*/

LANG=zh_CN.GBK

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

这里window下也可以通过界面修改 我的电脑-》属性-》高级-》环境变量-》NLS_LANG 直接修改重启pl/sql即可

/* 方法2,在windows还可以修改注册表来解决编码问题*/

/* 运行REGEDIT,第一步选HKEY_LOCAL_MACHINE,第二步选择SOFTWARE,第三步选择 Oracle,第四步选择 NLS_LANG,键入与服务器端相同的字符集 */

iso8859的 AMERICAN_AMERICA.WE8ISO8859P1

gbk的 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

原文地址:https://www.cnblogs.com/huapox/p/3172507.html