oracle乱码问题

时间:2021-08-15 08:02:11

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';

查询结果例如以下图:

oracle乱码问题

查看NLS_LANGLANG变量值

命令:echo $NLS_LANGLANG

乱码正是因为这oracle和操作系统编码不一样导致的

因此能够通过设置NLS_LANGLANG变量值来解决

命令:export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"