字串按要求的字元編碼來轉換

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv字串按要求的字元編碼來轉換

說明

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

將字串 strin_charset 轉換編碼到 out_charset

參數

in_charset

輸入的字符集。

out_charset

輸出的字符集。

如果你在 out_charset 后新增了字串 //TRANSLIT,將啟用轉寫(transliteration)功能。這個意思是,當一個字元不能被目標字符集所表示時,它可以通過一個或多個形似的字元來近似表達。 如果你新增了字串 //IGNORE,不能以目標字符集表達的字元將被默默丟棄。 否則,會導致一個 E_NOTICE並返回 false

警告

//TRANSLIT 執行細節高度依賴於系統的 iconv() 實現(參見 ICONV_IMPL)。 據悉,某些系統上的實現會直接忽略 //TRANSLIT,所以轉換也有可能失敗,out_charset 會是不合格的。

str

要轉換的字串。

返回值

返回轉換后的字串, 或者在失敗時返回 false

更新日誌

版本 說明
5.4.0 這個版本起,字元非法時候會返回 false,除非在輸出字元里指定了 //IGNORE 。 在之前版本,它會返回一部分字串。

範例

示例 #1 iconv() 例子

<?php
$text 
"This is the Euro symbol '€'.";

echo 
'Original : '$textPHP_EOL;
echo 
'TRANSLIT : 'iconv("UTF-8""ISO-8859-1//TRANSLIT"$text), PHP_EOL;
echo 
'IGNORE   : 'iconv("UTF-8""ISO-8859-1//IGNORE"$text), PHP_EOL;
echo 
'Plain    : 'iconv("UTF-8""ISO-8859-1"$text), PHP_EOL;

?>

以上例程的輸出類似於:

Original : This is the Euro symbol '€'.
TRANSLIT : This is the Euro symbol 'EUR'.
IGNORE   : This is the Euro symbol ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *