您好,登錄后才能下訂單哦!
今天小編就為大家帶來一篇介紹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表時候:也要設置里面字段的編碼方式,多說無用,看圖1吧: 在中下位置將Collation設置為utf8-general-ci編碼
圖1
圖2
2、要是創建表的時候忘記設置這個屬性了,也不用擔心,還有方法,首先選擇要修改屬性的表,點擊Operations修改其屬性,同時可以勾上changeall column這個,確定即可,如圖2所示.為了進一步保證不出現亂碼,還可以對 該表中的某些字段或者所以字段分別添加utf8-general-ci。具體操作:點擊需要修改的表(tb_product)->Structure->check all->change,然后再單獨設置每個字段的Collation。如圖3所示.
圖3
注意:要是沒對整個表選擇編碼為utf8-general-ci,而只是對表中的某些字段設置成utf8-general-ci格式,通過Operation查看表的屬性,還是會看到整個表的編碼為:如gbk-chinese-ci這種格式的話,如果Html編碼是utf8,那還是會出現亂碼的,所以最關鍵的是對整個表的Collation設置為utf8-general-ci。如圖4和圖5,圖4中雖然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。
圖4
以上就是php數據庫亂碼解決方法的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。