oracle数据导出spool方式,中文出现乱码是什么原因?

 我来答
创作者DPGTTT9Ftl
推荐于2019-11-01 · TA获得超过3672个赞
知道小有建树答主
回答量:53
采纳率:100%
帮助的人:8162
展开全部

一般来说,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没有设置,或者设置为其他字符集,则导入的库内汉字就有可能变成乱码。

解决方法,连接数据库的时候设置正确字符集即可。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式