重音字符在PHP中打破了json_encode()

我有一个数组,其中一个键包含一些HTML代码。 我是json_encoding这个数组返回。 我最近注意到,如果html包含特殊字符(即:méhvirága),json_encode()将返回’null’。

如果有特殊的重音字符,我怎样才能让json_encode()不返回’null’?

json_encode()假定文本采用UTF-8编码。 如果输入看起来像格式错误的UTF-8,则返回null 。 让json_encode()工作的唯一方法是以UTF-8(你可能应该使用它json_encode()来输入它。

而且,正如Zathrus Writer在评论中所说,实际的PHP源代码本身也应该采用UTF-8编码,以防止细微的错误。

我的回答是用utf8_encode()包装html字符串。