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

gau*_*kum 15 php warnings cakephp htmlspecialchars

我在本地网站上收到此错误.

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

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

谢谢.

Tat*_*nen 14

如果文件编码如下,请务必将编码指定为UTF-8:

htmlspecialchars($str, ENT_COMPAT, 'UTF-8');
Run Code Online (Sandbox Code Playgroud)

默认的字符集htmlspecialchars是ISO-8859-1(从PHP v5.4开始,默认字符集被转换为'UTF-8'),这可以解释为什么当它遇到多字节字符时会出现问题.

  • 从PHP 5.4.0开始,`htmlspecialchars()`的第3个参数的默认值是''UTF-8'` - 应该更新这个答案. (6认同)

gin*_*nja 5

我在生产中遇到了这个错误,并发现了这篇关于它的好文章 -

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

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