您的位置:首页 > 数据库 > Oracle

Oracle10g导数据时中文乱码相关处理

2009-06-09 20:10 232 查看
1.Oracle导入数据库出现数据库数据中文乱码问题,最后查得是由于数据库安装时,选择编码为默认编码

问题分析:
使用imp导入数据时,屏幕输出过以下提提示信息:
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)

解决:重新安装数据库,更改默认编码为:ZHS16GBK(从imp导入数据时,输出的日志可以看出,导出数据时,也使用的是ZHS16GBK编码方式导出的

结果:
imp导数据时,屏幕输出就变成如下了:
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

2.函数、存储过程、数据表注释中文乱码

问题分析:
使用imp导入数据时,屏幕输出过以下提提示信息:
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)

从上面的信息export client uses ZHS16GBK可以看出导出数据时,使用的编码是ZHS16GBK,所以我们只需要在导入时,把相应的编码设置为ZHS16GBK就行了。

解决:
set LANG=cn_ZH.UTF8
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=cn_ZH.UTF8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

nohup imp bobplms/bobplms@RDPUBLIC file=/home/oracle/ploan225.dmp rows=N ignore=y fromuser=ploan3 touser=bobplms show=y log=/home/oracle/imp_20090608.log&

导数完成后,只是数据表注释更正了。但是函数,存储过程还未更正。
打开imp_20090608.log文件。找出的存储过程及函数,重新执行存储过程及函数的创建既可。

结果:
执行imp导数据时,屏幕输出就如下了:
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: