ITPub博客

首页 > 数据库 > Oracle > 用DOS,XSHELL,PL/SQL Developer工具连接oracle中文乱码问题总结

用DOS,XSHELL,PL/SQL Developer工具连接oracle中文乱码问题总结

原创 Oracle 作者:e71hao 时间:2017-03-22 17:11:39 0 删除 编辑
1.乱码问题,简单说,就是字符编码和解码格式不一样,就造成乱码。实际软件应用,还是比较复杂的。
2.先来看工具windows 中的DOS。
DOS可以用命令chcp来改变编码。如chcp 936,变成936是简体中文。chcp 65001,是utf-8格式。下面我用DOS连接我的oracle。
首先说下环境:  win7 64位,oracle 12.2.0.1.oralce的实例orcl是的编码是AL32UTF8,我设置了windows的环境变量NLS_LANG=AMERICAN_AMERICA.AL32UTF8。
然后我在DOS下连接,展示的中文字体是乱码的,然后我在DOS中设置set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,则不会出现乱码。请看:

可以看到,当前DOS的设置是GBK,然而我的数据库编码是AL32UTF8,DOS设置为AL32UTF8的时候,反而是乱码,就比较奇怪了。set NLS_LANG=AMERICAN_AMERICA.AL32UTF8

总结:DOS的编码设置为GBK,NLS_LANG也设置为AMERICAN_AMERICA.ZHS16GBK,没有乱码。

3.现在来看PL/SQL Developer工具连接oracle的乱码。
PL/SQL Developer连接Oracle,在win的环境变量NLS_LANG下如果不设置,或者设置得不和oracle编码一致,都会出现乱码。

4.再来看XSHELL工具通过sqlplus连接oracle。xshell连接到linux的shell,当前用户要设置NLS_LANG变量,但是还要设置一个地方,文件》属性》终端》选择语言,
才能显示正常不为乱码。
4.总结上面三个工具,让我感到非常奇怪的是DOS这个工具,设置它的编码为UTF8,反而是乱码。其他工具设置的和数据库编码一致。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30393770/viewspace-2135871/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-08-05

  • 博文量
    133
  • 访问量
    235560