php htmlentities乱码的解决办法:1、使用“htmlentities($str,ENT_COMPAT,"GB2312")”;2、输出“htmlspecialchars($str)”。

本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。
php htmlentities 乱码怎么办?
php 中htmlentities导致中文无法查询问题
在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视频教程》
Atas ialah kandungan terperinci php htmlentities 乱码怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk membuka fail php
Bagaimana untuk mengalih keluar beberapa elemen pertama tatasusunan dalam php
Apa yang perlu dilakukan jika penyahserialisasian php gagal
Bagaimana untuk menyambungkan php ke pangkalan data mssql
Bagaimana untuk menyambung php ke pangkalan data mssql
Bagaimana untuk memuat naik html
Bagaimana untuk menyelesaikan aksara bercelaru dalam PHP
Bagaimana untuk membuka fail php pada telefon bimbit