今天帮助一同事把以前导出的一个oracle数据库备份文件恢复到开发测试库,数据是dmp格式的,我用imp导入数据之后,同事反映所有数据表的字段注释中文乱码,还有存储过程的中文也乱码,但是数据库表里的中文是正常的。
下面是修正乱码的方法:先查询先本地库的字符集,select userenv('language') from dual; 查得当前数据库字符集为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK",直接在oracle 的.bah_profile里加入 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK",设定环境变量,免得以后导入还有什么问题。变量生效后重新导入,表字段的注释和存储过程中的中文都能正常显示了。