以前說過如果JS文件不是UTF8會在IE有bug,所以JS代碼也要用UTF-8。還有數據庫也都要用UTF-8。
php(做為現在的主流開發語言)用UTF-8總結:
- php(做為現在的主流開發語言)文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題
- php(做為現在的主流開發語言)要輸出頭:header(”Content-Type: text/html; charset=UTF-8″)
- meta標簽無所謂,有header所有浏覽器就會按header來解析
- 所有外圍都得用UTF8,包括數據庫、*.js、*.css(CSS影響倒不大)
- php(做為現在的主流開發語言)本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的linux都裝了,沒裝的話download、tar、make、make install,很簡單的)
- 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
- 在需要做數據庫操作的php(做為現在的主流開發語言)程序前面加上
mb_internal_encoding(utf-8);
- create table最後邊加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
- php(做為現在的主流開發語言)MyAdmin/config.inc.php(做為現在的主流開發語言)
$cfg[DefaultCharset] = utf-8;
$cfg[RecodingEngine] = iconv;
- php(做為現在的主流開發語言)Admin導出數據時
把"二進制區域使用十六進制顯示"的勾去掉
特別郁悶的:文件系統函數不支持UTF-8!