[ Solaris ] iconv で文字コードを変換する ( PHP サンプル付 )

Pocket

Solaris10 で、iconv コマンドで変換可能な文字コードセットの一覧を確認するには man iconv_ja または iconv -l コマンドで確認することができます。本ページでは iconv コマンドを使ってファイルのエンコーディングを変換するサンプルを掲載しています。

スポンサーリンク

iconv コマンドの使い方

マイナーな文字コードですが、EUC-JP から富士通 JEF コードへ変換するサンプルです。

#
# input.txt ファイルの内容を読み込み、EUC-JP から富士通 JEF コードへ変換した内容を
# result.txt に出力するサンプル
#
iconv -f eucJP -t FujitsuJEF-kana-face iput.txt > result.txt

PHP で iconv 関数を使用する

EUC-JP から 富士通 JEF コードへの変換時に //TRANSLIT や // IGNORE を指定すると Notice が発生します。

PHP Notice: iconv(): Wrong charset,
conversion from `eucJP’ to `FujitsuJEF-kana-face//TRANSLIT’ is not allowed in ・・・

$input = "あいうえお";

// NG
$output = iconv("eucJP", "FujitsuJEF-kana-face//TRANSLIT", $input);
var_dump($output);

// PHP Notice:  iconv(): Wrong charset, 
// conversion from `eucJP' to `FujitsuJEF-kana-face//TRANSLIT' is not allowed in ・・・
// bool(false)

// OK
$output = iconv("eucJP", "FujitsuJEF-kana-face", $input);
var_dump($output);

// string(12) "(あいうえお)"
スポンサーリンク


Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>