当前位置: 代码迷 >> Oracle管理 >> 关于字符集的有关问题,求明白人指点
  详细解决方案

关于字符集的有关问题,求明白人指点

热度:12   发布时间:2016-04-24 04:31:45.0
关于字符集的问题,求明白人指点
本帖最后由 u010379807 于 2013-07-19 09:34:45 编辑
为什么我在我linux下的库里面alter session set nls_language='simplified chinese';后我的提示信息还是英文呢?(日期的相关字段确实变成了中文的)
而我在我window下的库里执行同样的操作就会生效,错误提示变成了中文了

还有我linux的库里,不能打中文,一打中文出来的就是 '....'

我怀疑是不是操作系统的字符集的问题。。。我linux下的LANG=zh_CN.UTF-8  


Linux oracle 字符集

------解决方案--------------------
查看下oracle字符集
NLS_LANGUAGE和NLS_CHARACTERSET 
SYS@xp-ora10g> select * from nls_database_parameters where rownum<10;

PARAMETER                      VALUE
------------------------------ ---------------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CHARACTERSET               AL32UTF8
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN

9 rows selected.


编辑.bash_profile文件(oracle用户下)
加入如下行就可以了
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8




------解决方案--------------------
引用:
Quote: 引用:

查看下oracle字符集
NLS_LANGUAGE和NLS_CHARACTERSET 
SYS@xp-ora10g> select * from nls_database_parameters where rownum<10;

PARAMETER                      VALUE
------------------------------ ---------------------------------------
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CHARACTERSET               AL32UTF8
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN

9 rows selected.


编辑.bash_profile文件(oracle用户下)
加入如下行就可以了
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

[oracle@dba arc]$ echo $NLS_LANG
simplified chinese_china.al32utf8
SQL> select hiredate from scott.emp;

HIREDATE
--------------
17-12???-80
20-2??? -81
22-2??? -81
02-4??? -81
28-9??? -81
01-5??? -81
09-6??? -81
19-4??? -87
17-11???-81
08-9??? -81
23-5??? -87

HIREDATE
--------------
03-12???-81
03-12???-81
23-1??? -82

14 rows selected.

乱码,你懂得

试试这个看看呗
编辑.bash_profile文件加入export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
乱码就可以解决了
另外.bash_profile文件加载一下才会生效的
  相关解决方案