Linux环境解决Oracle 中文乱码

简介:

  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,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
13天前
|
前端开发 Linux
深度探索Linux操作系统 —— 构建桌面环境3
深度探索Linux操作系统 —— 构建桌面环境
27 12
|
5天前
|
Shell Linux API
C语言在linux环境下执行终端命令
本文介绍了在Linux环境下使用C语言执行终端命令的方法。首先,文章描述了`system()`函数,其可以直接执行shell命令并返回结果。接着介绍了更强大的`popen()`函数,它允许程序与命令行命令交互,并详细说明了如何使用此函数及其配套的`pclose()`函数。此外,还讲解了`fork()`和`exec`系列函数,前者创建新进程,后者替换当前进程执行文件。最后,对比了`system()`与`exec`系列函数的区别,并针对不同场景推荐了合适的函数选择。
|
13天前
|
存储 搜索推荐 Linux
深度探索Linux操作系统 —— 构建桌面环境1
深度探索Linux操作系统 —— 构建桌面环境
28 8
|
13天前
|
Linux 编译器 C语言
深度探索Linux操作系统 —— 构建桌面环境2
深度探索Linux操作系统 —— 构建桌面环境
24 6
|
15天前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
|
15天前
|
JSON Linux 网络安全
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
|
15天前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
|
15天前
|
Linux PHP
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
【Azure 应用服务】PHP项目部署到App Service for Linux环境中,如何修改上传文件大小的限制呢?
|
15天前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤