oracle数据导出spool方式,中文出现乱码是啥原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据导出spool方式,中文出现乱码是啥原因?相关的知识,希望对你有一定的参考价值。
参考技术A一般来说,oracle数据导出spool方式,中文出现乱码,这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......
在windows上set NLS_LANG查询数据库字符集:select property_value from database_properties where property_name like 'NLS_CHAR%';
1、比如查询结果是:ZHS16GBK
那你在sqlplus之前要设置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后再登录sqlplus用spool生成数据
检查下你导出时候的环境变量,导入时的环境变量
2、比如导出时NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
导入时NLS_LANG没有设置,或者设置为其他字符集,则导入的库内汉字就有可能变成乱码。
解决方法,连接数据库的时候设置正确字符集即可。
以上是关于oracle数据导出spool方式,中文出现乱码是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Oracle APEX 中设置 SPOOL 脚本以将视图数据导出为 CSV?