(PHP 4 >= 4.0.5, PHP 5, PHP 7)
iconv — 文字列を指定した文字エンコーディングに変換する
$in_charset
, string $out_charset
, string $str
) : string
文字列 str
の文字セットを in_charset
から out_charset
に変換します。
in_charset
入力文字セット。
out_charset
出力文字セット。
文字列 //TRANSLIT を out_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 : ', $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