iconv
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
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
。Caution//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见
ICONV_IMPL
)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset
会是不合格的。 -
str
-
要转换的字符串。
返回值
返回转换后的字符串, 或者在失败时返回 FALSE
。
更新日志
版本 | 说明 |
---|---|
5.4.0 | 这个版本起,字符非法时候会返回 FALSE ,除非在输出字符里指定了 //IGNORE 。 在之前版本,它会返回一部分字符串。 |
范例
Example #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