您好,登錄后才能下訂單哦!
小編給大家分享一下如何解決php無法將中文數據寫入數據庫表的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php無法將中文數據寫入數據庫表的解決方法:1、將mysql所用字符集修改為utf8;2、將php文件編碼所用字符集改為utf-8;3、將前臺網頁所用字符編碼修改為utf-8。
本文操作環境: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命令行客戶端查看返回的中文數據不會亂碼
以上是“如何解決php無法將中文數據寫入數據庫表的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。