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 sql developer的脚本出现乱码?

如何在 Oracle APEX 中设置 SPOOL 脚本以将视图数据导出为 CSV?

Oracle数据出现中文乱码怎么解决

Linux sh脚本用spool导出oracle数据库指定表表数据

在excel导入到数据库的时候 中文出现乱码 怎么转码啊

Oracle:PL/SQL中用SQL语句添加数据 中文出现乱码问题?[有图]