PHP 轉換編碼會使用 iconv() 或 mb_convert_encoding(), 現在比較常用的是 mb_convert_encoding().
一般使用上, 如果有多種編碼, 可以用下述寫法:
<?php $string = mb_convert_encoding($sring, "UTF-8", "cp950,gb2312,gbk"); ?>
使用 mb_detect_order() 來指定編碼轉換順序
如果使用頻率很高, 可以於程式最上面使用 mb_detect_order() 來指定編碼轉換順序, ex:
<?php mb_detect_order('UTF-8,cp950,gb2312,gbk'); ?>
確認編碼順序: print_r(mb_detect_order());
已經於上面指定的話, mb_convert_encoding() 就只要寫 auto 即可, ex:
<?php $string = mb_convert_encoding($sring, "utf-8", "auto"); ?>