程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 十步解決PHP使用UTF-8編碼問題

十步解決PHP使用UTF-8編碼問題

編輯:關於PHP編程

    以前說過如果JS文件不是UTF8會在IE有bug,所以JS代碼也要用UTF-8。還有數據庫也都要用UTF-8。
php(做為現在的主流開發語言)用UTF-8總結:

  1. php(做為現在的主流開發語言)文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題
  2. php(做為現在的主流開發語言)要輸出頭:header(”Content-Type: text/html; charset=UTF-8″)
  3. meta標簽無所謂,有header所有浏覽器就會按header來解析
  4. 所有外圍都得用UTF8,包括數據庫、*.js、*.css(CSS影響倒不大)
  5. php(做為現在的主流開發語言)本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的linux都裝了,沒裝的話download、tar、make、make install,很簡單的)
  6. my.ini:
    [MySQL(和PHP搭配之最佳組合)]
    default-character-set=utf8
    [MySQL(和PHP搭配之最佳組合)d]
    default-character-set=utf8
    default-storage-engine=MyISAM
    在[MySQL(和PHP搭配之最佳組合)d]下加入:
    default-collation=utf8_bin
    init_connect=SET NAMES utf8
  7. 在需要做數據庫操作的php(做為現在的主流開發語言)程序前面加上
    mb_internal_encoding(utf-8);
  8. create table最後邊加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
  9. php(做為現在的主流開發語言)MyAdmin/config.inc.php(做為現在的主流開發語言)
    $cfg[DefaultCharset] = utf-8;
    $cfg[RecodingEngine] = iconv;
  10. php(做為現在的主流開發語言)Admin導出數據時
    把"二進制區域使用十六進制顯示"的勾去掉

特別郁悶的:文件系統函數不支持UTF-8!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved