ITPub博客

首页 > IT职业 > IT生活 > 写一函数,准确地判断字段是否含有汉字或者提取汉字等

写一函数,准确地判断字段是否含有汉字或者提取汉字等

原创 IT生活 作者:gugu99 时间:2007-11-30 15:04:03 0 删除 编辑
写一函数,准确地判断字段是否含有汉字或者提取汉字等 从表里提取汉字, 需要考虑字符集, 不同的字符集汉字的编码有所不同这里以GB2312为例, 写一函数准确地从表里提取简体汉字. 假设数据库字符集编码是GB2312, 环境变量(注册表或其它)的字符集也是GB2312编码并且保存到表里的汉字也都是GB2312编码的 那么也就是汉字是双字节的,且简体汉字的编码范围是 B0A1 - F7FE 换算成10进制就是 B0 A1 F7 FE 176,161 - 247,254 我们先看一下asciistr函数的定义 Non-ASCII characters are converted to the form xxxx, where xxxx represents a UTF-16 code unit. 但是这并不表示以 "" 开始的字符就是汉字了 举例如下 SQL> select * from test; NAME -------------------- ,啊OO10哈你好aa 大家好aa/ ☆大海123 ★ABC 这里第5条记录有一个实心的五角星然后用asciistr函数转换一下试试 SQL> select name,asciistr(name) from test; NAME ASCIISTR(NAME) -------------------- ---------------------- ,啊OO10哈 ,554AOO1054C8 你好aa 4F60597Daa 大家好aa/ 59275BB6597Daa/ ☆大海123 260659276D77123 ★ABC 2605ABC 我们看到最后一条记录的实心五角星也是 ""开头的此时我们就不能用asciistr(字段)是否存在 "" 来判断是否含有汉字了. 我的函数如下,基本思路是判断字符的编码是否在GB2312规定的汉字编码范围之内[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-986910/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3122
  • 访问量
    2252867