首頁  >  文章  >  後端開發  >  如何解決php sqlite 亂碼問題

如何解決php sqlite 亂碼問題

藏色散人
藏色散人原創
2020-09-29 10:41:352777瀏覽

php sqlite亂碼的解決方法:先開啟「db.db」表;然後透過查詢將結果儲存到新陣列;接著轉換列值;最後將查詢到的資料重新處理,並且全部強制轉換成UTF8即可。

如何解決php sqlite 亂碼問題

推薦:《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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn