Linux下SQLPlus中文乱码处理的方法 1.首先查询数据库字符集 SQL> select userenv(‘language‘) from dual; USERENV(‘LANGUAGE‘) ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 SQL> exit 从上面得知数据库字符集为 AMERICAN_AMERICA.AL32UTF8 2.配置环境变量 echo ‘export NLS_LANG="AMERICAN_AMERICA.UTF8"‘>>/etc/profile source /etc/profile 或者 echo ‘export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"‘>>/etc/profile source /etc/profile 3.再次查询即可正常识别中文 原因分析: sqlplus乱码与操作系统NLS_LANG变量有关,当数据库字符集与NLS_LANG变量不一致就产生乱码。
PL/SQL 中设置中文格式,避免乱码
最近新买的电脑,配置好数据库连接后,plsql查看数据与插入中文数据都显示问号(???),同事的都正常显示,查看了很多资料,有的说是数据库字符集的原因让修改数据库的字符集,但是我的数据库都是远程连接正式环境的数据库,修改正式库的字符集是不可能了,毕竟别人的都好使。后来终于得以解决,下面我来详细介绍如何解决的(简单好用): 原因:本机没有配置数据库字符集环境变量,或是与数据库字符集不一致。 步骤一:执行在plsql中执行 select userenv(‘language‘) from dual; 语句来查看本机的字符集,或是执行 select * from V$NLS_PARAMETERS; 语句。两者的区别是第一种查看到的是拼接好的一条字符集数据,第二种是数据库详细配置参数有多条数据需要将 第一行,第二行,第九行的value数据以 第一行_第二行.第九行的格式拼接起来,我的拼接好好后是AMERICAN_AMERICA.ZHS16GBK 步骤二:在环境变量中添加两条配置信息,鼠标右键我的电脑(计算机/此电脑)等图标,选择属性,选择高级系统设置,选择高级选项卡的环境变量,在系统变量里新建两条配置: 1、LANG=zh_CN.GBK(GBK是这样形式的,不同编码这里的value值需要跟着改变) 2、NLS_LANG=AMERICAN_AMERICA.ZHS16GBK(这个value值就是我们步骤一中拼接好的那个值) 步骤三:这步也是至关重要的,到这里我们就配置好了,很多的博客与帖子都说重启plsql即可,但是我的并没有生效,需要重启电脑 生效,很重要。(设置到Administrator的用户变量,然后重启plsql客户端就可以了,不用重启操作系统,这个我试过了可以的。) --------------------- 作者:zhang_yanchao 来源:CSDN 原文:https://blog.csdn.net/zhang_yanchao/article/details/79092711 版权声明:本文为博主原创文章,转载请附上博文链接!
原文地址:https://www.cnblogs.com/chendian0/p/11233608.html
时间: 2024-10-11 06:35:22