(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — 字符串按要求的字符編碼來(lái)轉換
$in_charset
, string $out_charset
, string $str
): string
將字符串 str
從 in_charset
轉換編碼到 out_charset
。
in_charset
輸入的字符集。
out_charset
輸出的字符集。
如果你在 out_charset
后添加了字符串 //TRANSLIT
,將啟用轉寫(xiě)(transliteration)功能。這個(gè)意思是,當一個(gè)字符不能被目標字符集所表示時(shí),它可以通過(guò)一個(gè)或多個(gè)形似的字符來(lái)近似表達。
如果你添加了字符串 //IGNORE
,不能以目標字符集表達的字符將被默默丟棄。
否則,會(huì )導致一個(gè) E_NOTICE
并返回 false
。
//TRANSLIT
運行細節高度依賴(lài)于系統的 iconv() 實(shí)現(參見(jiàn) ICONV_IMPL
)。
據悉,某些系統上的實(shí)現會(huì )直接忽略 //TRANSLIT
,所以轉換也有可能失敗,out_charset
會(huì )是不合格的。
str
要轉換的字符串。
返回轉換后的字符串, 或者在失敗時(shí)返回 false
。
版本 | 說(shuō)明 |
---|---|
5.4.0 |
這個(gè)版本起,字符非法時(shí)候會(huì )返回 false ,除非在輸出字符里指定了 //IGNORE 。
在之前版本,它會(huì )返回一部分字符串。
|
示例 #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;
?>
以上例程的輸出類(lèi)似于:
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