iconv
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — 字串按要求的字元編碼來轉換
說明
iconv(string
$in_charset
, string $out_charset
, string $str
): string
將字串 str
從 in_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 : ', $text, PHP_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