php htmlentities乱码的解决办法:1、使用“htmlentities($str,ENT_COMPAT,"GB2312")”;2、输出“htmlspecialchars($str)”。
php htmlentities 乱码怎么办?
php 中htmlentities导致中文无法查询问题
在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。
htmlentities用法
$str="John&'Adams'";echohtmlentities($str,ENT_COMPAT);echo"";echohtmlentities($str,ENT_QUOTES);echo"";echohtmlentities($str,ENT_NOQUOTES);?>John&'Adams'John&'Adams'John&'Adams'
浏览器输出:
htmlspecialchars用法
& (和) 转成 &
" (双引号) 转成 "
< (小于) 转成 <
> (大于) 转成 >
例
$str="John&'Adams'";echohtmlspecialchars($str,ENT_COMPAT);echo"";echohtmlspecialchars($str,ENT_QUOTES);echo"";echohtmlspecialchars($str,ENT_NOQUOTES);?>
他们的区别
这两个函数的功能都是转换字符为HTML字符编码,特别是url和代码字符串。防止字符标记被浏览器执行。使用中文时没什么区别,但htmlentities会格式化中文字符使得中文输入是乱码
htmlentities转换所有的html标记,htmlspecialchars只格式化& ' " < 和 > 这几个特殊符号
效果:
$str='<ahref="demo.php?m=index&a=index&name=中文"rel="externalnofollow"rel="externalnofollow">测试页面</a>';echo'htmlentities指定GB2312编码:'.htmlentities($str,ENT_COMPAT,"GB2312").'';echo'htmlentities未指定编码:'.htmlentities($str).'';$str='<ahref="demo.php?m=index&a=index&name=中文"rel="externalnofollow"rel="externalnofollow">测试页面</a>';echohtmlspecialchars($str).'';
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/39488.html;