今天在sqlplus测试时遇到了中文乱码的问题,说到乱码的问题最先想到的就是字符集不一致的问题。
问题描述:登陆时因为密码输入错误引起错误,但是显示结果是乱码。
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
重新输入上述报错的操作,正常显示中文报错信息。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。