Chinaunix

标题: 求数据库中部分字符不能正常显示的问题 [打印本页]

作者: dtsjs    时间: 2008-11-17 10:39
标题: 求数据库中部分字符不能正常显示的问题
数据库为9.2.0.0.0
nls_language 为AMERICAN
客户端为 nls_language 为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
查询数据库中大多数的记录,其中中文正常,但部分数据显示不正常,经观察多数
为生僻字,请教如何将这类记录查询出来。提供编程思路也非常感谢
作者: ILoveMK    时间: 2008-11-17 11:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: loversxyc    时间: 2008-11-17 15:57
更新系统的GB码,试一下,oracle应该是不支持直接中文字符,需要调用系统的GB码
作者: dtsjs    时间: 2009-03-26 12:45
该问题已经找到间接的处理方法

1: 因为原数据库的字符集不够大引起的。
  先另外建立一个数据库,选择一个大的中文字符集
将原表中的数据通过
a:dblink  insert 到新的表中
b:再原表上建立一个视图 通过 utl_raw.cast_to_raw 将原中文转换成raw
     再新库上通过dblink 建视图中的数据取过来,并用 utl_raw.cast_to_varchar2进行转换
比较两个表中不同的数据,就是将这类记录查询出来了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2