查询当前Oracle所用编码
在服务器上查看数据库服务器字符集
select
userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
使用Oracle用户登录你的linux,找到oracle目录下的.bashrc这个文件或者在vi
.bash_profile这个文件下
在这里插入图片描述
在这个文件里添加(export
NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
export
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#
.bashrc
# Source
global definitions
if [ -f
/etc/bashrc ]; then
. /etc/bashrc
fi
#
Uncomment the following line if you don't like systemctl's
auto-paging feature:
# export
SYSTEMD_PAGER=
# User
specific aliases and functions
export
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
注意有点号
之后执行source
~/.bashrc,
#.bash_profile
".bash_profile" 20L, 467C written
#
.bash_profile
export
ORACLE_BASE=/oracle/app
export
ORACLE_HOME=/oracle/app/product/11.2.0/db_1
export
ORACLE_SID=xjm
export
PATH=$ORACLE_HOME/bin:$PATH
export
LD_LIBRARY_PATH=/oracle/odc:$LD_LIBRARY_PATH
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# Get
the aliases and functions
if [ -f
~/.bashrc ]; then
. ~/.bashrc
fi
# User
specific environment and startup programs
PATH=$PATH:$HOME/bin
export
PATH
export
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
echo
$NLS_LANG
Root
检查i18n文件:
/etc/sysconfig/i18n 这里存放的是系统的区域语言设置
vi
/etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
将lang的值修改库中文字符集,下面是网上比较全的一个i18n文件设置:
(关键)
LANG="zh_CN.gb2312"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:zh_CN.GB2312:zh_CN:zh:zh_CN.gbk:zh_CN:zh:zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
修改后重新登录oracle,可以了