溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決php無法將中文數(shù)據(jù)寫入數(shù)據(jù)庫表的問題

發(fā)布時間:2021-09-28 09:39:07 來源:億速云 閱讀:297 作者:小新 欄目:編程語言

小編給大家分享一下如何解決php無法將中文數(shù)據(jù)寫入數(shù)據(jù)庫表的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

php無法將中文數(shù)據(jù)寫入數(shù)據(jù)庫表的解決方法:1、將mysql所用字符集修改為utf8;2、將php文件編碼所用字符集改為utf-8;3、將前臺網(wǎng)頁所用字符編碼修改為utf-8。

本文操作環(huán)境:windows10系統(tǒng)、php 7&&mysql 5.0、thinkpad t480電腦。

在學(xué)習(xí)PHP的過程中我們可能會遇到無法將中文數(shù)據(jù)插入數(shù)據(jù)表的情況,以及前臺網(wǎng)頁無法正確顯示從數(shù)據(jù)庫中獲取的中文數(shù)據(jù)的情況。遇到這種問題我們需要將mysql所用字符集修改為utf8,PHP文件編碼所用字符集改為utf-8,前臺網(wǎng)頁所用字符編碼改為utf-8,這樣就可以解決問題了。

具體步驟如下:

1. 運行MySQL安裝目錄下的MySQLInstanceConfig.exe,配置默認編碼為utf8;

記得選擇“Best Support For Multilingualism”,同時在下面的下拉列表中選擇“utf8”

配置完成后,檢查MySQL安裝路徑下的my.ini文件中“default-character-set”的設(shè)置,此時應(yīng)該是已經(jīng)設(shè)置為utf8了,如果不是,則設(shè)置為default-character-set=utf8

2.1 在創(chuàng)建數(shù)據(jù)庫時指定utf8編碼:

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

2.2 在創(chuàng)建數(shù)據(jù)表時指定utf8編碼:

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

3. 將文件編碼設(shè)置為utf-8;

如果用的是PhpStorm,則其默認的文件編碼就是utf-8,不用更改

4.設(shè)置頁面所用字符集為utf-8:

5.在對數(shù)據(jù)進行操作之前應(yīng)該先進行mysql_query('set names utf8'); 操作,然后再執(zhí)行對數(shù)據(jù)的查詢,更新,插入等 。

6.最后將客戶端來源數(shù)據(jù)使用的字符集,查詢結(jié)果字符集設(shè)置為gbk,:

SET character_set_client =gbk;   //直接從MySQL命令行客戶端插入中文數(shù)據(jù)時,存儲數(shù)據(jù)不會亂碼

SET character_set_results =gbk;    //從MySQL命令行客戶端查看返回的中文數(shù)據(jù)不會亂碼

以上是“如何解決php無法將中文數(shù)據(jù)寫入數(shù)據(jù)庫表的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI