php sqlite亂碼的解決方法:先開啟「db.db」表;然後透過查詢將結果儲存到新陣列;接著轉換列值;最後將查詢到的資料重新處理,並且全部強制轉換成UTF8即可。
推薦:《PHP影片教學》
Linux系統中關於Sqlite3中文亂碼問題及解決方案
新做的一個專案在本地(Win8)測試時沒有問題,但傳到伺服器(Linux)時從Sqlite3資料庫查詢到的資料中文卻是亂碼(資料庫中是正常的)
#將php檔案、html檔案都設定成統一的utf8還是一樣,在網路上也找了各種解決方案都沒有任何用.
解決辦法:
將查詢到的資料重新處理,全部強制轉換成UTF8
//打开db.db表 $db = new SQLite3('db.db'); if(!$db){ echo $db->lastErrorMsg(); exit; } else { } $keys = array(); $students = array(); //查询 $ret = $db->query("SELECT * from student limit 50"); //将结果保存到新数组 while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ $keys = array_keys($row); //转换列值,防止出现乱码 foreach($keys as $key){ $row[$key] = mb_convert_encoding($row[$key],"gb2312","utf-8"); } //添加到新数组 array_push($students, $row); } $db->close(); print_r($students);
以上是如何解決php sqlite 亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!