oracle乱码问题一般是由于oracle字符集设置和操作系统字符集设置不一致造成的,这里不得不提到两个操作系统环境变量,LANG和NLS_LANG
LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date
NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效
很显然,需要修改NLS_LANG环境变量
查看oracle字符集方式如下:
1.进入sqlplus
命令:sqlplus /nolog
2.以系统管理员身份连接数据库
命令:conn /as sysdba
3.输入查询语句
命令:select * from V$NLS_PARAMETERS where parameter = 'NLS_CHARACTERSET';
查询结果如下图:
查看NLS_LANGLANG变量值
命令:echo $NLS_LANGLANG
乱码正是由于这oracle和操作系统编码不一样导致的
因此可以通过设置NLS_LANGLANG变量值来解决
命令:export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"