使用UTF-8解决GBK中生僻字乱码问题

GBK 字符集中 很多生僻字都无法显示,或者虽然能显示 但是使用正则表达式过滤之后,发现生僻字被过滤掉了。系统认为生僻字并非汉字。

 

先创建一个GBK 数据库

打开数据库后执行SQL

CREATE TABLE "SYSDBA" . "T1"

(

"A" VARCHAR2 ( 50 )) ;

 

 

insert into t1

values ( ' 于彬 ' );

 

SELECT A , regexp_replace ( A , '[[:punct:]]' ) FROM T1

 

 

 

将数据插入到表中并且使用正则进行筛选

发现筛选后。中间的汉字没有了。现在创建一个 UTF-8 的数据库。

将这条数据使用DTS 迁移到新的UTF-8 库中

再次执行该正则表达式SQL

 

UTF-8 确实可以稍微减少生僻字过滤或者显示错误的问题,

但是这些只是部分补救办法。最好的办法还是在一开始沟通好需求,如果存在生僻字的情况直接使用UTF-8 字符集


请使用浏览器的分享功能分享到微信等