php執行資料庫亂碼怎麼辦
#1、在html程式碼中加上這句話:
#<metahttp-equiv=”Content-Type” content=”text/html; charset=utf-8″>,
這個來定義網頁的編碼,在連接資料庫,選擇具體資料庫後,用mysql_qurry(“set names utf8”);
來設定資料庫的編碼和html編碼一致。用的是zend studio開發環境,開發環境也有其程式碼顯示的編碼,所以也要改成utf8格式。另外一個就是在建立資料庫表格的時候也是很關鍵的,例如在phpMyAdmin
資料庫中,建立一張tb_product表格時候:也要設定裡面欄位的編碼方式,將會Collation
#設定為utf8-general-ci
編碼
2、要是建立表格的時候忘記設定這個屬性了,也不用擔心,還有方法,先選擇要修改屬性的表,點擊Operations
修改其屬性,同時可以勾上changeall column
這個,確定即可,為了進一步保證不出現亂碼,還可以對該表中的某些字段或所以字段分別加上utf8-general-ci
。具體操作:點選需要修改的表格(tb_product)->Structure->check all->change
,然後再單獨設定每個欄位的Collation
。
注意:如果沒對整個表選擇編碼為utf8-general-ci
#,而只是對錶中的某些字段設置成utf8-general-ci
格式,透過Operation
檢視表格的屬性,還是會看到整個表格的編碼為:如gbk-chinese-ci
這種格式的話,如果Html編碼是utf8
,那還是會出現亂碼的,所以最關鍵的是對整個表的Collation
設定為utf8-general-ci
。雖然pro_name
和pro_producer
看起來是utf8-general-ci
編碼,可是透過查看整個表格的編碼還是如gbk
格式,編碼不一致,所以很可能在表中還是會出現亂碼。
好了,總結一下,長話短說,四點:
1、 如在zend studio
中寫php
,html
程式碼,首先將已建立的工程的顯示編碼格式為utf8
格式;
#2、 在html
中使用<meta http-equiv =”Content-Type” content=”text/html; charset=utf-8″>
要寫的網頁顯示的編碼格式;
3、 連接資料庫的時候在選擇某個資料庫後(不是表格)使用mysql_qurry(“set names utf8”);
4、 就是上面提到的建立資料庫的時候將整個表格的編碼格式設為utf8 -general-ci。
推薦教學: 《php教學》
以上是php執行資料庫亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!