iconv

ある文字エンコーディングの文字列を、別の文字エンコーディングに変換する

説明

stringfalse iconv(string $from_encoding, string $to_encoding, string $string)

文字列 string の文字セットを from_encoding から to_encoding に変換します。

パラメータ

from_encoding

string の解釈に使われる文字セット。

to_encoding

変換したいエンコーディング。

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

警告

//TRANSLIT が機能したとしたら、 どう動くかはシステムの iconv() の実装 (ICONV_IMPL を参照) に依存します。 実装によっては、//TRANSLIT を無視することが知られています。 よって、to_encoding において無効な文字に対しては、 変換処理は失敗するかもしれません。

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_encodingto_encoding が現在のシステムでサポートされていない場合は、 false を返します。

参考

  • mb_convert_encoding
  • UConverter::transcode