一、问题描述
在数据清理时发现中文全部乱码
二、问题分析
-
SQL> select userenv('language') from dual;
-
-
USERENV('LANGUAGE')
-
----------------------------------------------------
-
AMERICAN_AMERICA.ZHS16GBK
-
-
[oracle@source_pc ~]$ echo $NLS_LANG
-
结果为空
问题原因: 环境变量NLS_LANG和数据库服务端字符集不一致
三、解决方案
-
[oracle@source_pc ~]$ export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
-
--这样只是针对该窗口,临时生效,对于其他会话不生效。
-
-
要想永久生效,可以写入.bash_profile文件。
-
[oracle@source_pc ~]$ pwd
-
/home/oracle
-
[oracle@source_pc ~]$ vi .bash_profile
-
添加一行:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
-
[oracle@source_pc ~]$ source .bash_profile
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31427447/viewspace-2154675/
,如需转载,请注明出处,否则将追究法律责任。