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

出力文字セット。

文字列 //TRANSLITout_charset に追加すると、翻字機能が有効になります。これは、指定された文字集合で 表せない文字を、見た目の似ている別の文字に置き換える機能です。 文字列 //IGNORE を追加すると、指定された文字集合で 表せない文字は黙って切り捨てられます。 それ以外の場合は E_NOTICE が発生し、この関数は FALSE を返します。

警告

If and how //TRANSLIT works exactly depends on the system's iconv() implementation (cf. ICONV_IMPL). Some implementations are known to ignore //TRANSLIT, so the conversion is likely to fail for characters which are illegal for the out_charset.

str

変換する文字列。

返り値

変換された文字列、失敗した場合に FALSE を返します。

変更履歴

バージョン 説明
5.4.0 このバージョン以降は、出力文字セットに //IGNORE が指定されていない限り、 無効な文字に対して FALSE を返すようになりました。 以前のバージョンでは、出力文字列の一部だけを返していました。

例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