好久不划水了,最近又开始帮同事导入数据了,这次发现每次用本机通过sqlplus远程导入数据库时总出现中文乱码情况,一开始以为是本机跟数据库字符集不一致导致的,后来通过各种设置查找依然未找到原因,终于在不懈努力下发现导入的SQL文件编码未对应起来导致的导入中文乱码。下面根据网络一些资料整合了下我自己的设置方法。
1、通过下列语句查询出数据库的字符集信息
select userenv('language') from dual;
2、之后通过配置电脑端环境变量信息与数据库字符集信息一致,“SIMPLIFIED CHINESE_CHINA.ZHS16GBK” 这块内容是根据上边语句查询出来的配置一致即可。
export NLS_LANG=“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
3、如果是非正常字符集如SIMPLIFIED CHINESE_CHINA.ZHS16GBK、AMERICAN_AMERICA.ZHS16GBK等一些特殊不常见字符集则需要再次检查一下要导入的SQL文件编码格式,并重新另存为ANSI编码格式文件再进行导入。 如果是常见的UTF-8、-16等字符集,则对应保存即可。
按照上述步骤均可导入中文不保证乱码。