BLOG記事用論壇

 找回密碼
 註冊
搜索
熱搜:
查看: 2180|回復: 0

php sql 讀取出來變問號,亂碼問題解決

[複製鏈接]
發表於 2021-2-8 20:52:54 | 顯示全部樓層 |閱讀模式

在使用php與sql讀取出資料庫資料來變成亂碼或是問號
首先需要先確認網頁能不能正常顯示中文
echo "中文";
若是可以,表示可能資料庫讀取時的編碼錯誤
將他設成相同編碼即可


參考
https://www.w3schools.com/php/func_mysqli_set_charset.asp

使用mysqli時可使用以下式子設定編碼為UTF8
  1. mysqli_set_charset(connection, charset)
複製代碼

若是物件導向(Object oriented)可以使用
  1. $mysqli -> set_charset(charset)
複製代碼

前面的變數名稱記得改

物件導向的參考範例,可以見到設定前後的編碼不同,
設定前是latin1,設定後是utf8
  1.     @$db = new mysqli('localhost', '資料庫使用者', '密碼', '資料庫名稱');
  2.         echo "Initial character set is: " . @$db -> character_set_name();echo "<br />";
  3.         echo "Initial character set is: " . mysqli_character_set_name(@$db);
  4.         echo "<br />";
  5.         //mysqli_query(@$db,"SET NAMES UTF8");
  6.         @$db -> set_charset("utf8");
  7.         //mysqli_set_charset(@$db,"utf8");
  8.         echo "Current character set is: " . @$db -> character_set_name();echo "<br />";
  9.         echo "Current character set is: " . mysqli_character_set_name(@$db);
  10.         echo "<br />";
複製代碼


SQL編碼設定前後差別.png

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|綜合討論區

GMT+8, 2026-4-4 03:00 , Processed in 0.042336 second(s), 11 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表