XML中的非法字符的处理


在php开发中遇到了这样的问题。utf-8编码的字符保存到数据库时可能因为字符串过长被截取保存了,截取后的数据很可能就包含非法字符了。这样的字符放到xml中,会导致整个xml不合法,无法被解析,程序对数据的依赖性太大。即使是放到cdata中也是如此。所以必须对可能的非法字串进行预处理。
发现php有个函数mb_check_encoding,可以判断是否是某个编码的合法字串:
function validutf($str){
   if( mb_check_encoding($str,"utf-8") )
      return $str;
 else
    return "unknow data";
}
用上面的函数,返回的就一定是合法的utf-8字串了,可用于组装xml. 非法数据毕竟是少数,用unknow data代替。


申明:本区内容收集自网络,如有署名问题请速与我们(luokelong#it168.com)联系,感谢您的支持。
7上一页  下一页8

制作:罗可龙 电邮:luokelong(at)it168.com