phpä¸iconvãmb_convert_encodingå½æ°å符ç¼ç 转æ¢è¯¦è§£å¦ä¸ï¼
iconvå½æ°åºè½å¤å®æåç§å符éé´ç转æ¢ï¼æ¯phpç¼ç¨ä¸ä¸å¯ç¼ºå°çåºç¡å½æ°åºã
ç¨æ³å¦ä¸ï¼
æ©å±å¦ä¸ï¼
å¤æ³¨ï¼
1ãiconvä¸æ¯phpçé»è®¤å½æ°ï¼ä¹æ¯é»è®¤å®è£ ç模åãéè¦å®è£ æè½ç¨çã
å¦ææ¯windows2000+phpï¼ä½ å¯ä»¥ä¿®æ¹php.iniæ件ï¼å°extension=php_iconv.dllåç";"å»æï¼åæ¶ä½ è¦copyä½ çåphpå®è£ æ件ä¸çiconv.dllå°ä½ çwinnt/system32ä¸ï¼å¦æä½ çdllæåçæ¯è¿ä¸ªç®å½ï¼ææ¬å°ç没ææä½è¿ä¸æ¥ï¼
å¨linuxç¯å¢ä¸ï¼ç¨éæå®è£ çæ¹å¼ï¼å¨configureæ¶å å¤ä¸é¡¹ --with-iconvå°±å¯ä»¥äºï¼phpinfoçå¾å°iconvç项ã(Linux7.3+Apache4.06+php4.3.2)ï¼
å°æ¤phpä¸çiconv ä»ç»å®æ¯
2ãç¨iconvå½æ°ææåæ¥è¿çutf-8ç¼ç ç页é¢è½¬ægb2312ï¼ åç°åªæç¨iconvå½æ°ææåè¿æ¥çæ°æ®ä¸è½¬ç æ°æ®å°±ä¼æ ç¼æ æ çå°ä¸äºãåå æ¯è¿æ ·çï¼
string iconv ( string in_charset, string out_charset, string str )
注æï¼ç¬¬äºä¸ªåæ°ï¼é¤äºå¯ä»¥æå®è¦è½¬åå°çç¼ç 以å¤ï¼è¿å¯ä»¥å¢å 两个åç¼ï¼//TRANSLIT å //IGNOREï¼å ¶ä¸ //TRANSLIT ä¼èªå¨å°ä¸è½ç´æ¥è½¬åçå符åæä¸ä¸ªæå¤ä¸ªè¿ä¼¼çå符ï¼//IGNORE ä¼å¿½ç¥æä¸è½è½¬åçå符ï¼èé»è®¤æææ¯ä»ç¬¬ä¸ä¸ªéæ³å符æªæã 被æªæäºï¼å½ç¶å°±ä¼å°äºï¼
å¯ä»¥è¿æ ·ä¿®æ¹iconv("UTF-8","GB2312//IGNORE",$string) ä¼å¿½ç¥æä¸è½è½¬åçå符ï¼
éå ï¼
PHPä¸çmb_convert_encodingä¸iconvå½æ°ä»ç»
mb_convert_encodingè¿ä¸ªå½æ°æ¯ç¨æ¥è½¬æ¢ç¼ç çï¼åiconvå½æ°å·®ä¸å¤ã
è±æä¸è¬ä¸ä¼åå¨ç¼ç é®é¢ï¼åªæä¸ææ°æ®æä¼æè¿ä¸ªé®é¢ãæ¯å¦ç¨Zend StudioæEditplusåç¨åºæ¶ï¼ç¨çæ¯gbkç¼ç ï¼å¦ææ°æ®éè¦å ¥æ°æ®åºï¼èæ°æ®åºçç¼ç 为utf8æ¶ï¼è¿æ¶å°±è¦ææ°æ®è¿è¡ç¼ç 转æ¢ï¼ä¸ç¶è¿å°æ°æ®åºå°±ä¼åæä¹±ç ã
åä¸ä¸ªGBK To UTF-8
< ?phpååGB2312 To Big5
ä¸è¿è¦ä½¿ç¨ä¸é¢çå½æ°éè¦å®è£ ä½æ¯éè¦å enable mbstring æ©å±åºï¼éçè¿æ¯ä¸æ ·çï¼ä¿®æ¹php.iniã
PHPä¸çå¦å¤ä¸ä¸ªå½æ°iconvä¹æ¯ç¨æ¥è½¬æ¢å符串ç¼ç çï¼ä¸ä¸å½æ°åè½ç¸ä¼¼ã
ä¸é¢è¿æä¸äºè¯¦ç»çä¾åï¼
iconv â Convert string to requested character encodingç¨æ³ï¼
éè¦å enable mbstring æ©å±åºï¼å¨ php.iniéå°; extension=php_mbstring.dll åé¢ç ;
å»æmb_convert_encoding å¯ä»¥æå®å¤ç§è¾å ¥ç¼ç ï¼å®ä¼æ ¹æ®å 容èªå¨è¯å«,ä½æ¯æ§è¡æçæ¯iconv差太å¤ï¼
é£ä¸ºä½è¿è¦è®²è§£ è¿ä¸ª mb_convert_encoding()å½æ°å¢ï¼çæ¡å¦ä¸ï¼
åç°iconvå¨è½¬æ¢å符âââå°gb2312æ¶ä¼åºéï¼å¦æ没æignoreåæ°ï¼ææ该å符åé¢çå符串é½æ æ³è¢«ä¿åãä¸ç®¡æä¹æ ·ï¼è¿ä¸ªâââé½æ æ³è½¬æ¢æåï¼æ æ³è¾åºã
å¦å¤mb_convert_encoding没æè¿ä¸ªbug.
ä¸è¬æ åµä¸ç¨ iconvï¼åªæå½éå°æ æ³ç¡®å®åç¼ç æ¯ä½ç§ç¼ç ï¼æè iconv转ååæ æ³æ£å¸¸æ¾ç¤ºæ¶æç¨mb_convert_encoding å½æ°.