PHP使用重音转换外来字符
作者:互联网
嗨我正在尝试将一些文本与数据库中的文本进行比较..在数据库中,当我将数据库文本与我的字符串进行比较时,任何带有重音的文本都会被编码为html(即.& eacute;) t匹配,因为我的字符串只显示é..当我使用php函数htmlentities来编码字符串首先é变成é怪异?使用htmlspecialchars根本不编码é..
您如何建议我将é与é以及所有其他重音字符进行比较?
解决方法:
您需要将正确的字符集发送给htmlentities.看起来您使用的是UTF-8,但默认为ISO-8859-1.像这样改变它:
$encoded = htmlentities($text, ENT_COMPAT, 'UTF-8');
另一种解决方案是在编码之前将文本转换为ISO-8859-1,但这可能会破坏信息(ISO-8859-1不包含与UTF-8一样多的字符).如果您想尝试相反,请执行以下操作:
$encoded = htmlentities(utf8_decode($text));
标签:php,html-encode,compare,diacritics 来源: https://codeday.me/bug/20190711/1437390.html