php sqlite亂碼的解決辦法:首先打開“db.db”表;然后通過查詢將結(jié)果保存到新數(shù)組;接著轉(zhuǎn)換列值;最后將查詢到的數(shù)據(jù)重新處理,并全部強(qiáng)制轉(zhuǎn)換成utf8即可。
推薦:《php視頻教程》
linux系統(tǒng)中關(guān)于sqlite3中文亂碼問題及解決辦法
新做的一個項目在本地(win8)測試時沒有問題,但傳到服務(wù)器(linux)時從sqlite3數(shù)據(jù)庫查詢到的數(shù)據(jù)中文卻是亂碼(數(shù)據(jù)庫中是正常的)
將php文件、html文件都設(shè)置成統(tǒng)一的utf8還是一樣,在網(wǎng)絡(luò)上也找了各種解決方案都沒有任何用.
解決辦法:
將查詢到的數(shù)據(jù)重新處理,全部強(qiáng)制轉(zhuǎn)換成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");//將結(jié)果保存到新數(shù)組while($row = $ret->fetcharray(sqlite3_assoc) ){ $keys = array_keys($row); //轉(zhuǎn)換列值,防止出現(xiàn)亂碼 foreach($keys as $key){ $row[$key] = mb_convert_encoding($row[$key],"gb2312","utf-8"); } //添加到新數(shù)組 array_push($students, $row);}$db->close();print_r($students);