[英]Special characters in column names
我從客戶那里得到了一個數據庫,需要圍繞它創建一些邏輯,比如讀取和插入條目。
當我嘗試一些基本請求時,例如:
$json = array ();
$query = "select * from tab1";
if ($result = $link->query ( $query )) {
while ( $row = $result->fetch_assoc () ) {
array_push ( $json, $row );
}
}
die ( json_encode ( $json ) );
我出乎意料地得到了一個空洞的回應。
直接從 PHPMyAdmin 執行相同的查詢,我得到了所有預期的結果。
當我剛剛在瀏覽器中轉儲 JSON 結果時,我注意到(提取):
... string(30) "ColumnName(�)" ...
我花了一段時間才發現,有些列名稱帶有一些特殊字符,例如µ
和°
。 顯然,它們無法正確顯示,因此整個響應無效,我沒有得到任何結果。
只需從列名中刪除這些字符即可解決問題。
是否有另一種解決方案,而不僅僅是手動查找這些字符並刪除它們?
因為json_encode()
/ json_decode()
只處理UTF-8編碼,所以必須將所有非 utf8 編碼的字符串轉換為 utf-8
您可以使用utf8-encode() 函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.