一.php
`string iconv ( string $in_charset , string $out_charset , string $str )`
— 將字符串 str 從 in_charset編碼格式 轉換到 out_charset編碼格式數組
1.若是你在 參數out_charset 後添加了字符串 **//**TRANSLIT 表示:當一個字符不能被目標字符集所表示時,它能夠經過一個或多個形似的字符來近似表達。 2.若是你添加了字符串 //IGNORE,不能以目標字符集表達的字符將被默默丟棄。 不然,str 從第一個無效字符開始截斷並致使一個 E_NOTICE。 函數
返回:返回轉換後的字符串, 或者在失敗時返回 FALSE編碼
缺點:當遇到生僻字符時會被截斷,因此須要設置第二個參數爲//IGNORE 忽略不能被識別的字符code
例如:在轉換字符"—"到gb2312時會出錯圖片
echo iconv('GBK','gb2312',‘abc-cde’);
安裝: 1.若是你使用了最新的 POSIX 兼容系統,則不須要安裝其餘程序,由於系統提供的 C 語言標準函數庫確定支持 iconv。不然,你必須在系統上安裝 » libiconv 函數庫 2.自 PHP 5.0.0 起,php配備了這個具備多種實用功能的擴展,來幫助您編寫多語言腳本,默認已激活此擴展,默認已激活此擴展,可是它可以在編譯時經過 --without-iconv 選項被禁用 選項指令 --with-iconv-dir 用於 PHP 編譯時指定 iconv 在系統裏的路徑,不然會掃描默認路徑。 3.PHP 4 用戶的注意事項 要激活這個擴展必須在編譯時使用 --with-iconv=[DIR] ,或者對於 Windows 用戶,能夠放置 iconv.dll 於系統 PATH 中,並在 php.ini 中激活 php_iconv.dll。字符串
二 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) --------將 string 類型 str 的字符編碼從可選的 from_encoding 轉換到 to_encoding。 若是沒有提供 from_encoding,則會使用內部(internal)編碼。get
返回值:編碼後的 string。input
注意:1.使用上面的函數須要先安裝先enable mbstring 擴展庫,在 php.ini裏將; extension=php_mbstring.dll 前面的 ; 去掉 2.mb_convert_encoding 能夠指定多種輸入編碼,它會根據內容自動識別,可是執行效率比iconv差太多 3.發現iconv在轉換字符」—」到gb2312時會出錯,若是沒有ignore參數,全部該字符後面的字符串都沒法被保存。無論怎麼樣,這個」—」都沒法轉換成功,沒法輸出。 另外mb_convert_encoding沒有這個bug. 4.通常狀況下用 iconv,只有當遇到沒法肯定原編碼是何種編碼,或者iconv轉化後沒法正常顯示時才用mb_convert_encoding 函數.string
函數:
mixed iconv_get_encoding ([ string $type = "all" ] )
— 獲取 iconv 擴展的內部配置變量 type 選項 type 的值能夠是: all input_encoding output_encoding internal_encoding 返回值: 成功時返回當前內部配置變量的值, 或者在失敗時返回 FALSE。 若是省略了 type,或者設置爲 "all",iconv_get_encoding() 返回包含全部這些變量的數組。 Array ( [input_encoding] => ISO-8859-1 [output_encoding] => ISO-8859-1 [internal_encoding] => UTF-8 )