array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.iconv.php', 1 => 'iconv', ), 'up' => array ( 0 => 'ref.iconv.php', 1 => 'iconv 函数', ), 'prev' => array ( 0 => 'function.iconv-substr.php', 1 => 'iconv_substr', ), 'next' => array ( 0 => 'function.ob-iconv-handler.php', 1 => 'ob_iconv_handler', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/iconv/functions/iconv.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
iconv — 将字符串从一个字符编码转换到另一个字符编码
将 string
从 from_encoding
转换到 to_encoding
。
from_encoding
用于解释 string
的当前编码。
to_encoding
所需的结果编码。
如果字符串 //TRANSLIT
追加到 to_encoding
,然后将启用转写(transliteration)功能。这意味着当字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。
如果追加字符串 //IGNORE
,不能以目标字符集表达的字符将被默默丢弃。否则,会导致 E_NOTICE
并返回 false
。
//TRANSLIT
运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL
)。
据悉,某些系统上的实现会直接忽略 //TRANSLIT
,所以转换也有可能失败,to_encoding
会是不合格的。
string
要转换的 string。
返回转换后的字符串, 或者在失败时返回 false
。
示例 #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
注意:
可用的字符编码和选项取决于已安装的 iconv 实现。如果当前系统不支持
from_encoding
或to_encoding
的参数,则返回false
。