首页 > 代码库 > oracle乱码问题

oracle乱码问题

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"