oracle中文乱码问题
有一台不支持中文的linux服务器上有oracle8.17数据库字符集是us7ascii.调用create database character set ZHT16BIG5;命令然后导入一含有中文的数据表,中文显示正常数据库从启后中文显示是乱码,在从新调用上面的命令后又显示正常。
请问各位大虾如何使其不用再输入以上命令尔正常显示?(客户端字符集是ZHT16BIG5)
问题点数:30、回复次数:16Top
1 楼icystone(石冰)回复于 2001-12-22 13:40:20 得分 0
为什么没人理我?Top
2 楼cqxhhe()回复于 2001-12-22 14:47:52 得分 0
搞不懂 呵呵……Top
3 楼marvellin(我)回复于 2001-12-22 15:04:12 得分 0
将clinet字符集设置跟服务器一样试试
我们一般用的字符集是:nls_lang=AMERICAN_AMERICA.WE8ISO8859P1Top
4 楼sunyuzhe(sunyuzhe.363.net)回复于 2001-12-22 16:34:38 得分 0
关注关注,upupTop
5 楼icystone(石冰)回复于 2001-12-22 17:12:59 得分 0
试一下等会再来!Top
6 楼icystone(石冰)回复于 2001-12-22 18:45:01 得分 0
s:WE8ISO8859P1 c:WE8ISO8859P1 乱码
s:us7ascii c:us7ascii 乱码
s:ZHT16BIG5 c:ZHT16BIG5 正常
关键问题时服务器没从启一次字符集就会自动变为us7ascii从新调用上面的命令后又显示正常
请问各位大虾如何使其不用再输入以上命令尔正常显示?Top
7 楼icystone(石冰)回复于 2001-12-24 13:39:58 得分 0
救命啊!英雄。Top
8 楼sky_blue(蓝天2007)回复于 2001-12-24 14:46:45 得分 0
修改init.ora 中的nls_language试试Top
9 楼marvellin(我)回复于 2001-12-24 14:55:23 得分 0
将环境变量
nls_lang的字符集改过来
同时将init.ora、注册表中统一改过来
全都改成一致的试试
Top
10 楼icystone(石冰)回复于 2001-12-25 10:09:18 得分 0
还是不行Top
11 楼rainren20000(可爱一刀)回复于 2001-12-25 11:54:24 得分 30
这个问题你可以这样做。
1>你先将服务器端的init.ora中的参数parallel_server屏蔽掉
2>执行下面的命令
svrmgrl:shutdown immediate;
//可做一个数据库备份以防万一
startup mount;
alter system enable restricted session;
alter system set JOB_QUEUE_PROCESSES=0;
alter database open;
alter database character set ZHT16BIG5;
shutdown immediate;
startup restrict;
3>如果你需要并行运行可以恢复1步
4>执行下面命令
svrmgrl:shutdown immediate;
startup;
之所要两次重新启动是oracle9i以前版本的一个bug。oracle9i后就不需要了
Top
12 楼icystone(石冰)回复于 2001-12-25 14:28:27 得分 0
让偶先试一下再说;Top
13 楼icystone(石冰)回复于 2001-12-25 15:14:55 得分 0
可爱一刀 在init.ora中没有 parallel_server这个参数呀!
不过问题还是解决了。
你真的好可爱!!!:)Top
14 楼rainren20000(可爱一刀)回复于 2001-12-25 15:50:08 得分 0
那是因为你安装的时候没有选择并行服务Top
15 楼sky_blue(蓝天2007)回复于 2001-12-26 09:10:27 得分 0
怎么解决的,大家长长见识Top
16 楼icystone(石冰)回复于 2001-12-26 11:21:31 得分 0
run the command of rainren20000(可爱一刀)!!!Top




