PHP查詢MySQL 資料庫後返回中文為問號

2021-10-12 04:52:22 字數 1206 閱讀 9452

查詢到的資料中包含的中文無法顯示,返回的都是問號,不確定是資料庫儲存時的問題還是返回後的編碼問題。於是先通過終端登入資料庫,查詢了資料,發現儲存的資料沒有問題,所以基本斷定返回的結果的編碼的問題。

通過google,網上查了很多方法,我參照其中的操作進行相應的嘗試.

試過新增header("content-type:text/html;charset=utf-8");

mysql配置檔案my.ini也設定了預設編碼格式utf8,控制台檢視編碼方式也是utf8,但是查詢到的結果的中問還是?,這就讓我很鬱悶了,再進行查詢,後來發現除了需要設定編碼格式之外還需要一條語句。

以utf-8編碼為例

需要在查詢資料庫set names utf8

物件導向

$conn

=new

mysqli

($servername

,$user

,$password);

增加 $conn

->

query

("set names utf8"

);

$pdo

=new

pdo(

"mysql:host=$servername",

$username

,$password);

增加 $pdo

->

query

("set names utf8"

);

面向過程

$conn

=mysqli_connect

($servername

,$user

,$password);

增加 mysqli_query

($conn

,"set names utf8"

);

mysql中set names utf8的作用和內涵

mysql · 答疑解惑 · set names 都做了什麼

PHP連線 查詢MySQL資料庫

conndb.php link mysqli connect localhost root password database 連線資料庫 mysqli select db link,database 選擇資料庫 mysqli query link,set name gb2312 index.php...

PHP連線並查詢MySql資料庫

header 函式向客戶端傳送原始的 http 報頭,解決中文亂碼。header content type text html charset utf 8 connection mysqli connect 主機名 mysql使用者名稱 mysql密碼 資料庫名 我在自己電腦測試,所以主機名可以是l...

mysql資料庫查詢作業 mysql資料庫查詢練習

建立四張資料表 學生表student 學號,姓名,性別,出生年月日,所在班級 課程表course 課程號,課程名,教師編號 成績表score 學號,課程號,成績 教師表teacher 教師編號,教師名,教師性別,出生年月日,職稱,所在部門 新增資訊 學生表 insert into student v...