没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
来源:http://blog.csdn.net/jimmylin040/article/details/6902148
问题描述:在 Linux 下安装的 oracle,默认的字符集没有修改,使用的是 WE8ISO8859P1,不能够支持中文,
问题表现为,客户端录入的中文数据可以显示,提交之后再查询出来后中文会显示为 ???。问题出在 oracle 服务端的字符集不
支持中文导致。
可以通过:
select userenv('language') from dual; 命令可以查看服务端的使用的字符集。
或者 select * from V$NLS_PARAMETERS;命令也可以
以及 select * from SYS.PROPS$;
确定了问题后就 Google 了一下,网上倒是有很多这方面的资料。可能是自己的环境和他们的不一致的原因,按照网上的那些
步骤我的问题没有解决。
问题根源找到了就好解决了,参考着网上的资料自己的解决步骤如下:
总的来说有两个思路:
1、重新安装
2、修改字符集
注:第一个方法没有用,觉得重装不是我喜欢的道道,解决问题是根本。所以我选择的是第二种方式。
网上很多人说,oracle 服务端安装好了之后字符集是不可以更改的,实践证明是可以修改的,至少 oracle8 以上的版本都是可
以修改的。
我的解决步骤:
1、ssh 登录,切换到 oracle 用户
切换用户命令:su -oracle
之后用 sqlplus 登录 oracle,命令:
:sqlplus /nolog
:connect /as sysdba
这样就登录了。
2、更改字符集
首先 sqlplus 登录后,关闭 oracle 数据库
1.shutdown immediate ;
2.startup mount ;
3.alter system enable restricted session ;
4.alter system set JOB_QUEUE_PROCESSES=0;
5.alter system set AQ_TM_PROCESSES=0;
6.alter database open ;
7. alter database character set INTERNAL_USE ZHS16GBK;
8.shutdown immediate ;
9.startup ;
注:一开始我按照上面的步骤没有解决,因为在第 7 步的时候有的资料提示使用 alter database character set ZHS16GBK;我试
过,这个命令不行,我使用的是 alter database character set INTERNAL_USE ZHS16GBK; 提示修改成功。同样,如果在
startup mount 下命令提示 error 的话,可以尝试在 startup restrict 下运行第七步的命令。
以下是我的调试命令记录,大家可以参考一下,那些提示错误的命令都是执行失败的,可以不必管。
Nelly_me
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页