htmlspecialchars(): 参数中的多字节序列无效

2022-08-31 00:52:15

我在本地站点中收到此错误。

Warning (2): htmlspecialchars(): Invalid multibyte sequence in argument in [/var/www/html/cake/basics.php, line 207]

有谁知道,问题是什么,或者应该是什么解决方案?

谢谢。


答案 1

如果文件是这样编码的,请确保将编码指定为 UTF-8:

htmlspecialchars($str, ENT_COMPAT, 'UTF-8');

的默认字符集是 ISO-8859-1(从 PHP v5.4 开始,默认字符集被转换为“UTF-8”),这也许可以解释为什么当它遇到多字节字符时事情会变得混乱。htmlspecialchars


答案 2

我在生产中遇到了这个错误,并发现了这个关于它的精彩帖子 -

http://insomanic.me.uk/post/191397106/php-htmlspecialchars-htmlentities-invalid

它似乎是PHP中的一个错误(至少对于CentOS),当显示错误为Off时,它会显示此错误!


推荐