在php中使用htmlentities导致中文无法查询如何解决-创新互联

在php 中使用htmlentities导致中文无法查询如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联建站从2013年创立,先为孝感等服务建站,孝感等地企业,进行企业商务咨询服务。为孝感企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

在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 = '测试页面';

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

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

$str = '测试页面';

echo htmlspecialchars($str).'';


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。


分享名称:在php中使用htmlentities导致中文无法查询如何解决-创新互联
转载来于:http://pwwzsj.com/article/cdjjop.html