天天看點

php轉碼

在使用PHP處理字元串時,我們經常會碰到字元編碼轉換的問題,一般都是用iconv進行轉碼的,但是iconv也不是萬能的,碰到一些生僻字就會無法轉換,如果配置了第二個參數,可以稍微彌補一下預設缺陷,不至于無法轉換,用法如下

這樣碰到生僻字轉換失敗時,它就會忽略失敗,繼續轉換下面的内容。

還有一個轉碼函數:mb_convert_encoding,他的轉換成功率比iconv高,但是有利就有弊,他的轉碼速率比較低,另外這個函數還可以省略第三個參數,自動識别内容編碼,但是影響效率,還需要注意的是,mb_convert_encoding和iconv參數順序不一樣,一定要注意。

附兩個函數簡單的用法:

iconv
string iconv ( string $in_charset , string $out_charset , string $str )

第一個參數:内容原的編碼

第二個參數:目标編碼

第三個參數:要轉的字元串
           

函數傳回字元串

<?php

$instr = ‘測試’;

// GBK轉UTF-8

$outstr = iconv(‘GBK’,'UTF-8′,$instr);

?>
           
mb_convert_encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
第一個參數:要處理的字元串
第二個參數:目标編碼
第三個參數:内容原編碼
           
<?php

$instr = '測試';

// GBK轉UTF-8

$outstr = mb_convert_encoding($instr,'UTF-8','GBK',);
?>
           

如果系統對效率要求不是很高、系統資源充足且要轉碼的内容常有生僻字出現的情況下建議選用mb_convert_encoding比較保險。