一尘不染

PHP json_encode json_decode UTF-8

json

如何将带有国际字符的json编码的字符串保存到数据库,然后在浏览器中解析解码的字符串?

<?php           
    $string = "très agréable";  
    // to the database 
    $j_encoded = json_encode(utf8_encode($string)); 
    // get from Database 
    $j_decoded = json_decode($j_encoded); 
?>    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <?= $j_decoded ?>
</html>

阅读 220

收藏
2020-07-27

共1个答案

一尘不染

这是一个编码问题。看起来在某些时候,数据被表示为ISO-8859-1。

流程的每个部分都需要UTF-8编码。

  • 数据库连接

  • 数据库表

  • 您的PHP文件(如果您在文件中使用特殊字符,如上面的示例所示)

  • content-type您输出的标题

2020-07-27