小編給大家分享一下如何解決php無(wú)法將中文數(shù)據(jù)寫入數(shù)據(jù)庫(kù)表的問(wèn)題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)頁(yè)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、青田網(wǎng)站維護(hù)、網(wǎng)站推廣。
php無(wú)法將中文數(shù)據(jù)寫入數(shù)據(jù)庫(kù)表的解決方法:1、將MySQL所用字符集修改為utf8;2、將php文件編碼所用字符集改為utf-8;3、將前臺(tái)網(wǎng)頁(yè)所用字符編碼修改為utf-8。
本文操作環(huán)境:windows10系統(tǒng)、php 7&&mysql 5.0、thinkpad t480電腦。
在學(xué)習(xí)PHP的過(guò)程中我們可能會(huì)遇到無(wú)法將中文數(shù)據(jù)插入數(shù)據(jù)表的情況,以及前臺(tái)網(wǎng)頁(yè)無(wú)法正確顯示從數(shù)據(jù)庫(kù)中獲取的中文數(shù)據(jù)的情況。遇到這種問(wèn)題我們需要將mysql所用字符集修改為utf8,PHP文件編碼所用字符集改為utf-8,前臺(tái)網(wǎng)頁(yè)所用字符編碼改為utf-8,這樣就可以解決問(wèn)題了。
具體步驟如下:
1. 運(yùn)行MySQL安裝目錄下的MySQLInstanceConfig.exe,配置默認(rèn)編碼為utf8;
記得選擇“Best Support For Multilingualism”,同時(shí)在下面的下拉列表中選擇“utf8”
配置完成后,檢查MySQL安裝路徑下的my.ini文件中“default-character-set”的設(shè)置,此時(shí)應(yīng)該是已經(jīng)設(shè)置為utf8了,如果不是,則設(shè)置為default-character-set=utf8
2.1 在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定utf8編碼:
CREATE DATABASE database_name CHARACTER SET “utf8” COLLATE “utf8_general_ci”;
2.2 在創(chuàng)建數(shù)據(jù)表時(shí)指定utf8編碼:
CREATE TABLE table_name ( Column_name datatype, ...... )ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. 將文件編碼設(shè)置為utf-8;
如果用的是PhpStorm,則其默認(rèn)的文件編碼就是utf-8,不用更改
4.設(shè)置頁(yè)面所用字符集為utf-8:
5.在對(duì)數(shù)據(jù)進(jìn)行操作之前應(yīng)該先進(jìn)行mysql_query('set names utf8'); 操作,然后再執(zhí)行對(duì)數(shù)據(jù)的查詢,更新,插入等 。
6.最后將客戶端來(lái)源數(shù)據(jù)使用的字符集,查詢結(jié)果字符集設(shè)置為gbk,:
SET character_set_client =gbk; //直接從MySQL命令行客戶端插入中文數(shù)據(jù)時(shí),存儲(chǔ)數(shù)據(jù)不會(huì)亂碼
SET character_set_results =gbk; //從MySQL命令行客戶端查看返回的中文數(shù)據(jù)不會(huì)亂碼
以上是“如何解決php無(wú)法將中文數(shù)據(jù)寫入數(shù)據(jù)庫(kù)表的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!