加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle数据隐式乱码,正则匹配中文数据失败

发布时间:2020-12-12 13:42:00 所属栏目:百科 来源:网络整理
导读:起因: 相同数据,供述厂家不同,使用正则匹配时,不同厂家的数据匹配不到。 描述: 导致此问题的发生原因为“ 数据编码不一致 ”,如果仅凭肉眼壕无差异。此时需用Convert函数查看数据编码,会发现不同厂家的相同数据转换出来的编码是不一致的。 附转码函数
char
要转换的值。它可以是任何的数据类型 。
dest_char_set
要转换的字符集的名称。utf8,US7ASCII,ZHS16GBK
source_char_set
储在数据库中的字符集,可以不写,默认值是数据库的字符集。






?

?

oracle sql如何把us7ascii的字符串编码转换为utf8或者gb2312编码
? ? ? ? 用CONVERT(char,source_char_set] )函数
windows 可以直接修改 HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1 nls_lang

值为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK 或使用convert 函数Eg. convert(char,‘ZHS16GBK‘,‘UTF8‘)

SQL code SQL> select CONVERT(datatype,US7ASCII ) from BSTH_SYS_FIELD_ALIAS; CONVERT(DATATYPE,US7ASCII) 
-------------------------------------------------------------------------------- 
gfdfghdf 
?? 
SQL> select CONVERT(datatype,ZHS16GBK ) from BSTH_SYS_FIELD_ALIAS; CONVERT(DATATYPE,ZHS16GBK) 
-------------------------------------------------------------------------------- 
gfdfghdf 

中文 ASCII 返回与指定的字符对应的十进制数; 
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
 A A ZERO SPACE 
--------- --------- --------- --------- 
65 97 48 32 CHR 
给出整数,返回对应的字符; 
SQL> select chr(54740) zhao,chr(65) chr65 from dual; 
ZH C 
-- - 
赵 A

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

起因:相同数据,供述厂家不同,使用正则匹配时,不同厂家的数据匹配不到。

描述:导致此问题的发生原因为“数据编码不一致”,如果仅凭肉眼壕无差异。此时需用Convert函数查看数据编码,会发现不同厂家的相同数据转换出来的编码是不一致的。

附转码函数使用方式:

在oracle中,convert函数是用来转字符集转换的。  

语法:CONVERT( char,dest_char_set [,source_char_set] ); 

参数说明
    推荐文章
      热点阅读