oracle如何导入乱码 oracle数据库中添加数据乱码怎么解决

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

一般来说,oracle数据导出spool方式,中文出现乱码,这情况是因为数据库服务器和客户端字符集不匹配,执行sqlplus的机器就是客户端,服务器和客户端也可能是一台机器,执行sqlplus之前要先设置客户端的字符集,在linux上:export NLS_LANG=.......

成都创新互联主要从事网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务泽普,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

在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 乱码 如何解决

1、对于Oracle Enterprise Manager中的所有工具,有一个配置文件名为dbappscfg.properties,修改该文件即可解决上述问题。这个文件的位置在$ORACLE_HOME\sysman\config目录下,用任何的文本编辑器打开该文件,在这个文件里面,找到这样一项,

# SQLPLUS_NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

2、去掉注释符#,同时将其修改为

SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

3、对于Windows操作系统,还需要修改一项,在文件中找到# SQLPLUS_SYSTEMROOT=c:\\WINNT40,去掉注释符,将其修改为你所在机器的操作系统主目录。如操作系统的主目录在D盘的Winnt下,则将其修改为

SQLPLUS_SYSTEMROOT=d:\\WINNT。

对于后面一项的修改只对Windows操作系统进行,对UNIX操作系统则不需要。如果在Windows操作系统中不修改该项,在Oracle Enterprise Manager中,连接系统时,会提示如下的错误:

ORA-12560 TNS:protocol adapter error

或者

ORA-12545 Connect failed because target host or object does not exist

4、修改完成后,保存文件,退出编辑。重新连接SQL PLUS Worksheet,字符集乱码问题得到解决,显示正确的简体中文字符集。

问题: 使用Oracle Instant Client 出现 ORA-12705: Cannot access NLS data files or invalid environment specified 错误。

如果是Windows平台,注册表里 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 查找键 NLS_LANG,这个键由Oracle标准客户端安装创建, 值是 NA 。这个导致了 ORA-12705错误。解决方法就是改名 NLS_LANG。

Linux下 如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是删除这个变量

unset NLS_LANG

导入oracle的数据有乱码怎么办

可能是字符集不一致造成的,字符集有数据库字符集和客户端字符集,对你这种情况来说,导出和导入都要涉及,也就是说你要保证4个字符集都一致才行

exp时源数据库字符集,客户端字符集

imp时目标数据库字符集和客户端字符集

如果你就在数据库服务器上导出或者导入,那么你这机器既作为数据库服务器也做导入导出客户端

数据插入oracle乱码

字符集的问题

如果是应用应用服务器连接的数据库,查看和修改应用服务器的字符集与oracle数据库字符集是否一致。

如果是通过oracle客户端(包括pl/sql developer )等连接的数据库,查看和修改该客户端使用的oraclehome的字符集设置,一般在注册表中。具体根据使用的oracle客户端查找。

为什么oracle导入的数据是乱码

应该是你倒出或者是倒入时用错了客户端的字符集,或者是源库和目标库的字符集本身就不兼容

分别在源库和目标库查询一下数据库字符集:

select value$ from props$ where name like 'NLS_CHAR%';

看它们是否一致,如果不一致,基本上你就不能用导入的方法来在这两库之间迁移这个数据

如果一致,再检查一下导出和导入所用机器的字符集(客户端字符集),windows要看注册表,UNIX要看操作系统用户的环境变量

Oracle添加数据出现乱码怎么解决

1,修改Oralce的编码格式

2,修改主机的编码格式

3,查看自己导入的数据是否已经乱码


分享标题:oracle如何导入乱码 oracle数据库中添加数据乱码怎么解决
文章分享:http://ybzwz.com/article/hpipog.html