php sql 讀取出來變問號,亂碼問題解決
在使用php與sql讀取出資料庫資料來變成亂碼或是問號首先需要先確認網頁能不能正常顯示中文
echo "中文";
若是可以,表示可能資料庫讀取時的編碼錯誤
將他設成相同編碼即可
參考
https://www.w3schools.com/php/func_mysqli_set_charset.asp
使用mysqli時可使用以下式子設定編碼為UTF8
mysqli_set_charset(connection, charset)
若是物件導向(Object oriented)可以使用
$mysqli -> set_charset(charset)
前面的變數名稱記得改
物件導向的參考範例,可以見到設定前後的編碼不同,
設定前是latin1,設定後是utf8
@$db = new mysqli('localhost', '資料庫使用者', '密碼', '資料庫名稱');
echo "Initial character set is: " . @$db -> character_set_name();echo "<br />";
echo "Initial character set is: " . mysqli_character_set_name(@$db);
echo "<br />";
//mysqli_query(@$db,"SET NAMES UTF8");
@$db -> set_charset("utf8");
//mysqli_set_charset(@$db,"utf8");
echo "Current character set is: " . @$db -> character_set_name();echo "<br />";
echo "Current character set is: " . mysqli_character_set_name(@$db);
echo "<br />";
頁:
[1]