oracle数据导出spool方式,中文乱码的情况。
要把oracle11g中的数据通过spool的方式导出成txt格式,中文变成了乱码。通过验证发现导出的文件时ASCII编码,所以在linux系统中变成乱码,有什么方式可以...
要把oracle11g中的数据通过spool的方式导出成txt格式,中文变成了乱码。通过验证发现导出的文件时ASCII编码,所以在linux系统中变成乱码,有什么方式可以解决这个问题呢?
展开
展开全部
先问一下:你屏幕上出现的结果显示的是乱码吗?
一般来说,你这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......
在windows上set NLS_LANG
查询数据库字符集:select property_value from database_properties where property_name like 'NLS_CHAR%';
比如查询结果是:ZHS16GBK
那你在sqlplus之前要设置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后再登录sqlplus用spool生成数据
一般来说,你这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......
在windows上set NLS_LANG
查询数据库字符集:select property_value from database_properties where property_name like 'NLS_CHAR%';
比如查询结果是:ZHS16GBK
那你在sqlplus之前要设置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后再登录sqlplus用spool生成数据
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询