簡體   English   中英

列名中的特殊字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM