首頁 >後端開發 >PHP問題 >資料庫php亂碼怎麼解決

資料庫php亂碼怎麼解決

藏色散人
藏色散人原創
2020-05-07 11:34:442324瀏覽

資料庫php亂碼怎麼解決

資料庫php亂碼怎麼解決?

最近在使用Apache php MySql練習網站編寫,在儲存資料的過程中,HTML表單中輸入的中文透過php存入資料庫裡面顯示是亂碼,百度了一下,各種說法都有,真的操碎了心,不過還是看到幾條有用的信息,就是不管是中文的還是英文以及其他字符,編碼格式都設置成utf8這種格式。

推薦:《PHP教學

1、在html程式碼中加上這句話:

,這個來定義網頁的編碼,在連接資料庫,選擇具體資料庫後,用mysql_qurry(“set names utf8”);來設定資料庫的編碼和html編碼一致。用的是zend studio開發環境,開發環境也有其程式碼顯示的編碼,所以也要改成utf8格式。另外一個就是在建立資料庫表的時候也是很關鍵的,例如在phpMyAdmin資料庫中,建立一張tb_product表時候:也要設定裡面欄位的編碼方式,多說無用,看圖1吧: 在中下位置將Collat​​ion設定為utf8-general-ci編碼

資料庫php亂碼怎麼解決

##圖1

資料庫php亂碼怎麼解決

圖2

##2 、要是創建表的時候忘記設定這個屬性了,也不用擔心,還有方法,首先選擇要修改屬性的表,點擊Operations修改其屬性,同時可以勾上changeall column這個,確定即可,如圖2所示.為了進一步保證不出現亂碼,還可以對該表中的某些字段或所以字段分別添加utf8-general-ci。具體操作:點選需要修改的表格(tb_product)->Structure->check all->change,然後再單獨設定每個欄位的Collat​​ion。如圖3所示.

資料庫php亂碼怎麼解決圖3

注意:如果沒對整個表選擇編碼為utf8-general-ci,而只是對錶中的某些欄位設定成utf8-general-ci格式,透過Operation查看表格的屬性,還是會看到整個表格的編碼為:如gbk-chinese-ci這種格式的話,如果Html編碼是utf8,那還是會出現亂碼的,所以最關鍵的是對整個表的Collat​​ion設定為utf8-general-ci。如圖4和圖5,圖4雖然pro_name和pro_producer看起來是utf8-general-ci編碼,可是透過查看整個表的編碼還是如gbk格式,編碼不一致,所以很可能在表中還是會出現亂碼。

好了,總結一下,長話短說,四點:

1、  如在zend studio中編寫php,html程式碼,首先將創建的工程的顯示編碼格式為​​utf8格式;

2、  在html中使用要寫的網頁顯示的編碼格式;

3、  連接資料庫的時候在選擇某個資料庫後(不是表格)使用mysql_qurry(“set names utf8”);

4、  就是上面提到的創建資料庫的時候將整個表格的編碼格式設定為utf8-general-ci。

資料庫php亂碼怎麼解決圖4

資料庫php亂碼怎麼解決#圖5

以上是資料庫php亂碼怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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