json_encode无法解析utf8表中的字符串

时间:2014-06-04 20:51:45

标签: php utf-8 json

我看过一些关于这个主题的帖子。

我有一个包含字母é的字符串。我需要json_encode这个字符串,但该函数将返回null。在其他帖子中,据说这背后的原因是字符串不是utf-8编码的字符串。因此,它需要是一个utf-8编码的字符串才能工作。

问题是,字符串直接来自数据库,它源自的表编码为utf-8。那么字符串我是如何尝试解析为json对象而不是utf-8?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试将其编码为UTF-8,然后使用iconv()之类的内容将其保存到数据库中,或者在将其解析为json之前?

IE:

$utfchar = iconv('Windows-1252', 'UTF-8','é');

编辑:

您还需要将浏览器的字符集设置为utf8,例如:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
    $test = iconv('Windows-1252', 'UTF-8','é');
    echo $test;
?>

<script type="text/javascript">
    var jstest = '<?php echo $test; ?>';
    console.log(jstest);
</script>