千家信息网

sqlplus中文乱码的问题

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,今天在sqlplus测试时遇到了中文乱码的问题,说到乱码的问题最先想到的就是字符集不一致的问题。问题描述:登陆时因为密码输入错误引起错误,但是显示结果是乱码。2.上网查看相关资料之后,需要设置NLS_
千家信息网最后更新 2025年02月02日sqlplus中文乱码的问题

今天在sqlplus测试时遇到了中文乱码的问题,说到乱码的问题最先想到的就是字符集不一致的问题。

  1. 问题描述:登陆时因为密码输入错误引起错误,但是显示结果是乱码。



2.上网查看相关资料之后,需要设置NLS_LANG,使其与oracle服务器端的字符集保持一致。

[oracle@mycentos ~]$ echo $NLS_LANG

AMERICAN_AMERICA.ZHS16GBK


SQL> col parameter for a30

SQL> col value for a30

SQL> select * from nls_database_parameters where parameter in('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET');

PARAMETER VALUE

------------------------------ ------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CHARACTERSET AL32UTF8

拼接NLS_LANGUAGE、NLS_TERRITORY 、NLS_CHARACTERSET三个参数对应的value值就是需要设定的NLS_LANG的值,即

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

NLS_LANG与目标值不匹配,所以需要重新输出NLS_LANG的值,即

[oracle@mycentos ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

重新输入上述报错的操作,正常显示中文报错信息。


0