php執行資料庫亂碼怎麼辦

2020-07-16 10:06:28

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_namepro_producer看起來是utf8-general-ci編碼,可是通過檢視整個表的編碼還是如gbk格式,編碼不一致,所以很可能在表中還是會出現亂碼。

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

1、 如在zend studio中編寫phphtml程式碼,首先將建立的工程的顯示編碼格式為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執行資料庫亂碼怎麼辦的詳細內容,更多請關注TW511.COM其它相關文章!