goldrain

  PHP博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  6 随笔 :: 0 文章 :: 7 评论 :: 0 Trackbacks
在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代替。
posted on 2007-06-09 12:31 goldrain 阅读(1918) 评论(0)  编辑 收藏 引用 网摘

只有注册用户登录后才能发表评论。
网站导航: