检查汉字串中是否有半角或非法字符

文章作者 100test 发表时间 2007:09:06 13:32:16
来源 100Test.Com百考试题网


感觉有许多企业可能都会有检查数据中文字段是否有乱码的问题, 所以与大家分享这一函数:
检查汉字串中是否有半角或非法字符
as400系统通过前置x’0e’字节和后置x’0f’字节来标识双字节汉字串。业务系统运行中经常情况下,因为各种原因,会造成汉字串混进非标准字符或x’0e’—x’0f’配对出现混乱,导致汉字串异常。业务员常常希望程序员能够从大量数据的表中自动检查出含有异常汉字串的记录。

这里提供一个检查汉字串中是否有半角或非法字符的函数与大家分享。
一.函数源码名checkchnp,函数名c_check
二.检查规则:
1。如果字符串中没有x’0e’和x’0f’,则检查字符串是否全是常规半角字符,如果全是常规半角字符,则字符串有效,否则非法。
2。如果字符串中x’0e’和x’0f’不配对,则字符串非法。
3。如果x’0e’和x’0f’之间字符个数为奇数,则字符串为非法。
4。如果x’0f’在x’0e’前面,则字符串非法。
5。字符串中有x’00’,则非法。
三:调用方法:
eval wwsign=c_check(chnnam)
其中chnnam为检查字段,wwsign为返回标识,如果wwsign不等于零,则该字段非法。
四:调用示范例子
检查testa文件中包含客户姓名(chnnam)字段是否非法,把有非法姓名的记录输出到testaql文件里。
程序名testapl, 用copy方式包含过程原型说明头文件checkchnh和过程源文件checkchnp (也可以用module方式).编译时需选择dftactgrp为*no.
checkchnp, checkchnh, testapl打包在checkchn中。


相关文章


解决Oracle9i和Tomcat端口冲突
Oracle atial新驱动的添加记录实例
Oracle智能代理与OMS的问题解决方法
oracle中的to_date参数含义
检查汉字串中是否有半角或非法字符
Ubuntu可移动Linux版本将于10月发布
在Oracle中重编译所有无效的存储过程-Oracle认证考试
UbuntuLinux下播放Real多媒体的方法
打造自己的Linux常用应用软件列表
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛