在使用mysql數據庫時,有時會遇到傳過來的數據亂碼的情況。這種情況的發生原因有很多,比如數據庫和網站字符集不匹配、PHP代碼和數據庫字符集不一致等。
//連接數據庫時設置字符集 $mysqli = new mysqli("localhost", "user", "password", "test", 3306); $mysqli->set_charset("utf8"); //查詢數據時也要保證字符集一致 $result = $mysqli->query("SELECT * FROM `users` WHERE `name`='張三'"); //輸出查詢結果時要將數據轉碼 while($row = $result->fetch_assoc()) { echo iconv('gb2312', 'utf-8', $row['name']); }
遇到亂碼問題時可以先嘗試調整字符集一致性,如果還有問題可以使用iconv()函數進行字符編碼轉換。當然,最好的解決方式是在開發的時候就做好字符集統一,避免后期的麻煩。
下一篇ext取json的值