主页 > 知识库 > php 中htmlentities导致中文无法查询问题

php 中htmlentities导致中文无法查询问题

热门标签:太原400电话申请流程 萍乡商铺地图标注 企业400电话办理多少费用 宿州正规外呼系统软件 合肥企业外呼系统线路 电信外呼系统多少钱一个月 代理打电话机器人 神龙斗士电话机器人 桂阳公司如何做地图标注

在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。

htmlentities用法

 $str = "John  'Adams'"; 
 echo htmlentities($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlentities($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlentities($str, ENT_NOQUOTES); 
 ?> 
 
John  'Adams'
 John  'Adams'
 John  'Adams'

浏览器输出:

htmlspecialchars用法

(和) 转成
 " (双引号) 转成 "
  (小于) 转成
 > (大于) 转成 >

$str = "John  'Adams'"; 
 echo htmlspecialchars($str, ENT_COMPAT); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_QUOTES); 
 echo " 
 "; 
 echo htmlspecialchars($str, ENT_NOQUOTES); 
 ?>  

他们的区别

这两个函数的功能都是转换字符为HTML字符编码,特别是url和代码字符串。防止字符标记被浏览器执行。使用中文时没什么区别,但htmlentities会格式化中文字符使得中文输入是乱码

htmlentities转换所有的html标记,htmlspecialchars只格式化 ' " 和 > 这几个特殊符号

效果:

$str = 'a href="demo.php?m=indexa=indexname=中文" rel="external nofollow" rel="external nofollow" >测试页面/a>';

echo 'htmlentities指定GB2312编码:'.htmlentities($str,ENT_COMPAT,"GB2312").'';

echo 'htmlentities未指定编码:'.htmlentities($str).'';

$str = 'a href="demo.php?m=indexa=indexname=中文" rel="external nofollow" rel="external nofollow" >测试页面/a>';

echo htmlspecialchars($str).'';

总结

以上所述是小编给大家介绍的php 中htmlentities导致中文无法查询问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:
  • php过滤输入操作之htmlentities与htmlspecialchars用法分析
  • php htmlentities()函数的定义和用法
  • php htmlentities和htmlspecialchars 的区别

标签:太原 衡阳 鄂州 廊坊 辛集 白银 绥化 崇左

巨人网络通讯声明:本文标题《php 中htmlentities导致中文无法查询问题》,本文关键词  php,中,htmlentities,导致,中文,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《php 中htmlentities导致中文无法查询问题》相关的同类信息!
  • 本页收集关于php 中htmlentities导致中文无法查询问题的相关信息资讯供网民参考!
  • 推荐文章