iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

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

説明

iconv(string $from_encoding, string $to_encoding, string $string): string|false

文字列 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 : '$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

注意

注意:

文字エンコーディングと、指定できるオプションは、 インストールされている iconv の実装に依存します。 from_encodingto_encoding が現在のシステムでサポートされていない場合は、 false を返します。

参考

  • mb_convert_encoding() - ある文字エンコーディングの文字列を、別の文字エンコーディングに変換する
  • UConverter::transcode() - ある文字エンコーディングから別の文字エンコーディングに文字列を変換する

関連キーワード:  文字, 変換, iconv, encoding, string, , TRANSLIT, from, This, 実装