免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 13706 | 回复: 5
打印 上一主题 下一主题

toad for oracle汉字显示乱码,如何设置? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-29 09:38 |只看该作者 |倒序浏览
toad for oracle汉字显示乱码,如何设置?linux下oracle,终端软件toad for oracle,谢谢!!!

论坛徽章:
0
2 [报告]
发表于 2008-02-29 18:27 |只看该作者
你说的是数据库表内某个字段里面存中文字符,在toad里面出来是乱码?

论坛徽章:
0
3 [报告]
发表于 2008-02-29 21:52 |只看该作者

回复 #2 gthboy 的帖子

是的,我已经搞定了,呵呵,谢谢

论坛徽章:
0
4 [报告]
发表于 2008-02-29 23:24 |只看该作者
搞定了就把解决方法贴出来撒

论坛徽章:
0
5 [报告]
发表于 2008-03-05 16:38 |只看该作者

回复 #4 iceman_x 的帖子

一,linux下oracle服务端的字符集设置

SQL> select * from nls_database_parameters;

PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN

NLS_TERRITORY
AMERICA

NLS_CURRENCY
$


PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_ISO_CURRENCY
AMERICA

NLS_NUMERIC_CHARACTERS
.,

NLS_CHARACTERSET                                    --------------------------------------------------
ZHS16GBK                                            ---  oracle服务器端字符集,它是显示中文的条件  ----

...
...
后面还有

如何设置这个NLS_CHARACTERSET?如下:

SQL> conn /as sysdba

Connected.


SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.


SQL> startup mount

ORACLE instance started.

Total System Global Area  236000356 bytes

Fixed Size                   451684 bytes

Variable Size             201326592 bytes

Database Buffers           33554432 bytes

Redo Buffers                 667648 bytes

Database mounted.


SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

System altered.


SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

System altered.


SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

System altered.


SQL> alter database open;

Database altered.


SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

ALTER DATABASE CHARACTER SET ZHS16GBK

*

ERROR at line 1:

ORA-12712: new character set must be a superset of old character set


提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:


SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

Database altered.
然后再重启数据库就OK了.

二,linux下的NLS_LANG变量值

export NLS_LANG=american_america.zhs16gbk

三,客户端的NLS_LANG配置

修改注册表种的oracle里的NLS_LANG为american_america.zhs16gbk.

一切OK!!!!

论坛徽章:
0
6 [报告]
发表于 2008-03-05 16:43 |只看该作者

回复 #4 iceman_x 的帖子

斑竹给个精华贴啊 :wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP