php網頁出現亂碼一般是在建立數據庫時用的編碼和php網頁的編碼不同造成的,
用phpmyadmin建立的數據庫如果你不指定編碼他默認是latin1_swedish_ci 編碼,既瑞典語不區分大小寫,而我們中國做的網頁不是GBK就是GB2312編碼,這樣不出現亂碼才怪.
1,建立數據庫時指定編碼.
在此再唠叨一下常用的編碼,免的新手又迷茫:
如果你做的是簡體中文網頁,那麼你在建立數據庫時用GB2312編碼,gb2312_chinese_ci.
如果你做的是繁體中文網頁,那麼你建立數據庫時要用gib5編碼, big5_chinese_ci
如果你做的網頁有簡體也有繁體中文,那麼推薦你用GBK編碼,gbk_chinese_ci . GBK包含的字碼比GB2312要多,當然繁體也在其中.
如果你做的是多國語言網頁,那麼推薦你用UTF-8編碼 . mysql中有二種utf8編碼可供選擇 : utf8_unicode_ci與utf8_general_ci 筆者一般用utf8_general_ci ,關於這二種編碼的區別,請參考本站的另一篇文章: Mysql中校對集utf8_unicode_ci與utf8_general_ci的區別
我們用UTF-8編碼為例建立數據庫如圖:
2,用php連接數據庫時用mysq_query 設定一下編碼
ide新建的網頁是gb2312,而我卻把建好的網頁改成big5的了,這樣怎麼會不出現亂碼呢,解決的方法很簡單,重新另存為一下,指定一下編碼就OK了,