Linux下Orcle数据库导入导出中文乱码解决方法


关键词

Linux Orcle 乱码

摘要

之前因为程序要搬迁,在对Oracle数据库进行导入导出操作的时候,数据表的中文注释以及存储过程和函数中的中文注释均显示乱码。
之前因为程序要搬迁,在对Oracle数据库进行导入导出操作的时候,数据表的中文注释以及存储过程和函数中的中文注释均显示乱码。让人着实痛苦。
首先可以查看相关信息看看:
1、客户端字符集必须与服务端字符集一直
2、加载到Oracle数据库中的数据字符集必须与服务器字符集一致(例如:在不同字符集服务器之间导数据会导致中文乱码)
3、字符集同时存在于Oracle服务器和Oracle客户端
4、服务器字符集是在安装Oracle数据库的时候就指定的,一般不能修改,否则会出问题。如:ZHS16GBK字符集
5、客户端字符集是在Oracle用户环境变量中设定的
一些相关内容:
SELECT * FROM v$nls_valid_values; #查看Oracle数据库可用字符集参数设置
select * from nls_database_parameters; #查看Oracle数据库字符集
select * from nls_instance_parameters; #查看Oracle客户端字符集环境
解决办法:
Oracle客户端字符集由当前用户环境变量NLS_LANG设定
NLS_LANG构成方式:
NLS_LANG=LANGUAGE_TERRITORY.Characterset
LANGUAGE  #Oracle消息使用的语言
TERRITORY #服务器日期和数字格式
CHARACTERSET #字符集
例如:
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
备注:客户端与服务端字符集必须一直!但语言设置可以不同!
例如:
NLS_LANG="SIMPLIFIED CHINESE_CHINA".ZHS16GBK
一般建议语言设置用英文
具体操作:
vi  /home/oracle/.bash_profile  #编辑用户环境变量设置,以CentOS系统为例,在最后一行增加
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
:wq! #保存退出
source .bash_profile #使 bash_profile 设置立刻生效
至此,Linux下Orcle数据库导入导出中文乱码解决方法教程完成。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:Linux下Orcle数据库导入导出中文乱码解决方法:http://www.splaybow.com/post/linux-orclebianma.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« Linux下自动备份Oracle数据库并删除指定天数之前的备份 Oracle临时表 »