网站地图    收藏   

主页 > 系统 > linux系统 >

linux环境使用sqlplus执行SQL脚本中文乱码处理 - L

来源:自学PHP网    时间:2015-04-14 11:51 作者: 阅读:

[导读] linux环境使用sqlplus执行SQL脚本中文乱码处理某组服务器上的sqlplus在执行定时更新SQL脚本时,中文出现乱码。一开始找错了问题方向:从SQL更新脚本处理的源头开始,首先对windows下的编辑...


linux环境使用sqlplus执行SQL脚本中文乱码处理
 
某组服务器上的sqlplus在执行定时更新SQL脚本时,中文出现乱码。一开始找错了问题方向:从SQL更新脚本处理的源头开始,首先对windows下的编辑器生成的脚本文件做各种编码的尝试,然后又在vi编辑器里面进行字符编码(encoding)与文件编码(fileencoding)的各种调试。后来发现转了圈,不过并不算浪费时间,最起码对字符编码多了一些了解。
 
我是通过如下的方法解决sqlplus执行SQL脚本出现的中文乱码问题:
 
1.生产环境中的字符集全是UTF8,所以对于上传至服务器上的脚本都以'UTF8 without BOM'保存 
2.查看Oracle的字符集编码:
  www.2cto.com  
1
SQL> select userenv('language') from dual;
2
 
3
USERENV('LANGUAGE')
4
 
5
----------------------------------------------------
6
 
7
AMERICAN_AMERICA.AL32UTF8
8
 
9
SQL>
3.修改Linux的NLS_LANG环境变量,修改Oracle指定的Linux用户下面“.base_profile”文件,加入如下:
1
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
4.执行.bash_profile,使环境变量设置生效,查看其值:
 
1
$ echo $NLS_LANG
2
 
3
AMERICAN_AMERICA.AL32UTF8
至此,此次中文乱码的问题得已解决。
推荐一篇文章,是介绍Vim 中与编码有关的四个选项的,如不是很清楚它们之间关系的可以访问以下网址读一下:
  www.2cto.com  
http://www.2cto.com/os/201208/147952.html
参考来源:
http://www.2cto.com/os/201208/147952.html
http://www.zfanw.com/blog/vim-encoding-fileencoding-fileencodings.html
http://blog.csdn.net/zzs0829/article/details/7410264
 
 
作者 旺仔的钥匙

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论