插入到数据库中的 中文 显示为???

insert into 到数据库中的中文,在代码中和oracle OEM中查看都是显示为???

我的VM里安装的是federo13 英文版的操作系统

然后安装了oracle 10g

SSH连接到linux 就无法显示中文字符

 

找到第一篇帖子 http://blog.csdn.net/naxiwer/archive/2008/12/29/3638442.aspx  

讲述的是在linux终端设置oracle显示字符,但是不涉及oracle内部的字符改变:

--设置oracle数据库显示中文

修改oracle用户下的.bash_profile 文件,添加NLS_LANG参数,与oracle数据库中的语言形式一致。
例如:

vi .bash_profile
添加export  NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

source .bash_profile

--解决linux下的中文乱码问题:

按如下方式可修改为GBK。

解决方法如下:
su - root
vi /etc/sysconfig/i18n
添加或修改 LANG="zh_CN.GBK"
然后使之生效:
source /etc/sysconfig/i18n

vi /etc/profile.d/chinese.sh
添加  export LC_ALL=zh_CN.GBK
chmod 755 /etc/profile.d/chinese.sh
source /etc/profile.d/chinese.sh

一般大家都会到为止,可使本用户终端字符编码显示为简体中文。

但是还改变不了其他用户的,或所有用户默认的设置。

因此为了使其他用户的终端也能默认为GBK编码规则,还要做如下操作:

vi /etc/environment

添加如下语句:
LANG=zh_CN.GBK
LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_RNCODING=GBK
LC_CTYLE=zh_CN.GBK
LC_ALL="zh_CN.GBK"

 

source /etc/environment

 

经过上述步骤之后,在ssh上可以显示中文,但是在数据库中的数据依然是乱码

 

搜索到另一篇帖子:http://xiaotian-ls.iteye.com/blog/713170

讲述的是oracle的安装和字符集的配置全过程,摘取了字符集的设置

su oracle
vi ~/.bash_profile 

添加以下内容:

export TNS_ADMIN=$ORACLE_HOME/network/admin  
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  
export LANG=AMERICAN_AMERICA.ZHS16GBK 

 

source .bash_profile

再说下oracle更改数据库字符集编码的问题。
1.用sys登录到oracle中 
    sqlplus '/as sysdba'
2.开始修改编码
    shutdown immediate;停止oracle服务以及监听。如果服务停止,这部可省略
    startup mount;
    alter system enable restricted session;
    alter system set job_queue_processes=0;初始化设置job
    alter database open;
    alter database character set internal_use utf8;设置编码
    shutdown immediate;
    startup;
至此编码已经设置完成。

 

经过测试,生效,ssh显示和数据库中的中文数据都显示正常。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值