最近在公司做多版本数据库支持的时候,原本项目用的是MySQL数据库。现在改为Oracle数据库支持,在自己电脑上利用Oracle SQL developer将MySQL的数据库迁移到Oracle中。用的是PLSQL,并没有安装Oracle客户端。
问题描述:
PLSQL的SQL窗口中执行SQL语句,语句中包含利用decode语法相应字段会出现中文值。但是在输出结果时候中文显示乱码。在网上找了一些方法,说是添加环境变量NLS_LANG为SIMPLIFIED CHINESE_CHINA.AL32UTF8。这时候,结果输出没问题,但是报错提示信息乱码,根据网上的说法将注册表中HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1,找到NLS_LANG,修改成SIMPLIFIED CHINESE_CHINA.AL32UTF8。这时候报错提示信息编码正常,但输出结果中文乱码。
解决办法:
1. 将注册表中HKEY_LOCAL_MACHINE --->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1,找到NLS_LANG,修改成SIMPLIFIED CHINESE_CHINA.AL32UTF8。
2.添加环境变量NLS_LANG为AMERICAN_AMERICA.AL32UTF8(影响提示信息的是字符集设置的NLS_LANG,故维持原数据库配置)。