Linux环境解决Oracle 中文乱码
1)查看数据库字符集
1
2
3
4
|
03:12:58 SQL> select userenv(
'language'
) from dual;
USERENV(
'LANGUAGE'
)
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
|
2)编辑linux 的NLS_LANG变量
[oracle@oraserv ~]$ pwd
/home/oracle
[oracle@oraserv ~]$ ls -a
1
2
3
4
5
6
7
8
|
. cr_dbprod.sql .gconfd .ICEauthority .rman_history .Xauthority
.. cr_db.sql .gnome logmnr sel.sql .xsession-errors
.bash_history cr_dict.sql .gnome2 .metacity sql.
log
中国
.bash_logout Desktop .gnome2_private .mozilla sqlnet.
log
.bash_profile .dmrc .gstreamer-0.10 .nautilus .sqlplus_history
.bashrc .eggcups .gtkrc-1.2-gnome2 ora.sh s.sh
close_bak_command.sql ftp.msg hot_bak_cmd.sql ora.txt start.sh
cold_bak.sql .gconf hot_bak.sql .redhat .Trash
|
[oracle@oraserv ~]$ vi .bashrc
1
2
3
4
5
6
7
8
9
|
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
export NLS_LANG=AMERICAN_AMERICA.ZHS
16
GBK
".bashrc"
10
L,
167
C written
|
3)注销oracle用户,重新登录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
[oracle@oraserv ~]$ su - oracle
[oracle@oraserv ~]$ env |grep LANG
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
LANG=en_US.UTF-8
[oracle@oraserv ~]$ export ORACLE_SID=prod
[oracle@oraserv ~]$ env |grep LANG
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
LANG=en_US.UTF-8
通过sqlplus验证:
[oracle@oraserv ~]$sqlplus
'/as sysdba'
;
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 8 03:15:59 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
03:16:02 SQL> conn scott/tiger
Connected.
03:16:08 SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
03:16:16 SQL> update dept set dname=
'财务'
where deptno=10;
1 row updated.
03:16:47 SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 财务 NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
|
注意:解决问题的原则,客户端的字符集和oracle 数据库的字符集保持一致。
本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/730998,如需转载请自行联系原作者