首頁 >後端開發 >PHP問題 >php無法將中文資料寫入資料庫表怎麼辦

php無法將中文資料寫入資料庫表怎麼辦

王林
王林原創
2021-09-27 18:23:392194瀏覽

php無法將中文資料寫入資料庫表的解決方法:1、將mysql所用字元集修改為utf8;2、將php檔案編碼所用字元集改為utf-8;3、將前台網頁所用字元編碼修改為utf-8。

php無法將中文資料寫入資料庫表怎麼辦

本文操作環境:windows10系統、php 7&&mysql 5.0、thinkpad t480電腦。

在學習PHP的過程中我們可能會遇到無法將中文資料插入資料表的情況,以及前台網頁無法正確顯示從資料庫取得的中文資料的情況。遇到這種問題我們需要將mysql所用字元集修改為utf8,PHP檔案編碼所用字元集改為utf-8,前台網頁所用字元編碼改為utf-8,這樣就可以解決問題了。

具體步驟如下:

1. 執行MySQL安裝目錄下的MySQLInstanceConfig.exe,設定預設編碼為utf8;

記得選擇「Best Support For Multilingualism”,同時在下面的下拉清單中選擇「utf8」

配置完成後,檢查MySQL安裝路徑下的my.ini檔案中「default-character-set」的設置,此時應該是已經設定為utf8了,如果不是,則設定為default-character-set=utf8

2.1 在建立資料庫時指定utf8編碼:

CREATE  DATABASE  database_name
CHARACTER  SET  “utf8”
COLLATE  “utf8_general_ci”;

2.2 在建立資料表時指定utf8編碼:

CREATE  TABLE  table_name
(
Column_name  datatype,
......
)ENGINE=InnoDB  DEFAULT  CHARSET=utf8;

3. 將檔案編碼設定為utf-8;

如果用的是PhpStorm,則其預設的檔案編碼就是utf-8,不用更改

4.設定頁面所用字元集為utf-8:

5.在對資料進行操作之前應該先進行mysql_query('set names utf8'); 操作,然後再執行對資料的查詢,更新,插入等 。

6.最後將客戶端來源資料使用的字元集,查詢結果字元集設定為gbk,:

SET character_set_client =gbk;   //直接從MySQL指令列用戶端插入中文資料時,儲存資料不會亂碼

SET character_set_results =gbk;    //從MySQL命令列用戶端檢視回傳的中文資料不會亂碼

PS:上述內容是針對於MySQL Server 5.0的,在MySQL Server 5.6 中其預設的所有所使用的字元編碼都是utf8

推薦學習:php訓練

以上是php無法將中文資料寫入資料庫表怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn