• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

Oracle 海叔叔 2个月前 (05-11) 20次浏览 已收录 0个评论

关键词
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数据库导入导出中文乱码解决方法教程完成。


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址