php mysql無法查詢中文名字的解決方法:1、保證MySQL和PHP的編碼一致;2、在php頁頭加上「header("Content-type: text/html; charset=utf -8");」。
本文操作環境:Windows7系統、PHP7.1、Dell G3電腦。
php mysql 無法查詢中文名字怎麼辦?
1.保證MySQL和PHP的編碼一致
MySQL
修改整個資料庫的編碼格式
注意:如果資料不重要的話,可以直接使用更改資料庫的編碼格式,再重新建表格即可。 (此範例中的資料庫是test)
alter database test character set utf8
修改整張表的編碼格式
注意:如果資料是重要資料的話,執行下列程式碼把整張表編碼格式轉換成utf8即可(此例中的資料表是students)
alter table students convert to character set utf8
修改students 表中sname 欄位的編碼格式
注意:第一個sanme是要給表中的sname欄位修改編碼格式。
第二個sname varchar(64)是要修改的欄位名稱和欄位型別(一般和原表中一樣,不會做修改)
not null是修改sname不能為空的。 (可以選擇不加)
alter table students change sname sname varchar(64) character set utf8 not null;
也可以使用phpMyAdmin進入資料表
或進入資料庫
PHP
在php頁頭加上:
header("Content-type: text/html; charset=utf-8"); //注意:这一句前不能向页面输出任何内容
另外在html裡設定的是
2.取得搜尋框傳遞來的資訊後,加上單引號
搜尋框:
輸入名字:
搜尋
xxx.php: $tofind = $_POST["userName"]; $sql = "SELECT * FROM user WHERE name='$tofind';"; $result = $conn->query($sql);
即可實現查詢漢字字串
【至少我的成了。 。 】
推薦學習:《PHP影片教學》
以上是php mysql 無法查詢中文名字怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!