搜尋

首頁  >  問答  >  主體

jsonp - 後台php回傳json,本地測試中文顯示正常,伺服器中文變成問號。

後端php從mysql資料庫拿數據,輸出為json格式傳到前台,本地和伺服器上的php檔案都是連接同一個資料庫,本地測試時查看json回傳資料中文正常,伺服器上json回傳資料中文變成問號

資料庫編碼與結構

conn.php連接資料庫檔案

<?php
    $dbName = "库名";  
    $conn = @ mysql_connect("数据库地址", "用户名", "密码") or die("数据库链接错误");  
    mysql_query("set names 'utf-8 "); //使用utf编码; 
    $flag = mysql_select_db($dbName, $conn); 
     
      
    function toHtmlcode($content)  
    {  
        return $content = str_replace("\n","<br>",str_replace(" ", "&nbsp;", $content));  
    }
?>

get.php取資料發送json

<?php
header('Content-type:application/json;charset=utf-8');
include 'conn.php';
$rs = mysql_query('select * from msg');
$result = array();
while($row = mysql_fetch_object($rs)){
    array_push($result, $row);
}
$json = json_encode($result,JSON_UNESCAPED_UNICODE);
echo $json;
?>

本地測試中文正常(phpstudy環境,php5.4.45)

伺服器上測試中文全是問號(阿里雲web託管,php5.4.45)

过去多啦不再A梦过去多啦不再A梦2752 天前538

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:03:57

    set names utf8
    utf8中間沒有橫槓,也不要單引號

    回覆
    0
  • 取消回覆