[k]id » Shift-JISの機種依存文字をEUC-JPに変換で問題 

2009年11月25日

Shift-JISの機種依存文字をEUC-JPに変換で問題

Yahoo!ブックマークに登録

1 Star2 Stars3 Stars4 Stars5 Stars (現在評価はありません。)
Loading ... Loading ...

今日は凄く細かい事で苦戦したので、覚え書きです。

windowsのExcelで書き出したCSVをWEB用に加工してたのですが、
どうも、機種依存文字#9312;(①)とか#x2160;(Ⅰ)とかがどうしても文字化ける。。

ということで
通常そういう場合には、

$hoge =  mb_convert_encoding($hoge , "EUC-JP", "SJIS");
$hoge =str_replace("Ⅰ","Ⅰ",$hoge);
とかになるとおもうのですが、これだと何故か機種依存文字が無視されています。

ので

//sjis-winからいったんUTF-8に
$hoge=mb_convert_encoding($hoge , "UTF-8", "sjis-win");
//機種依存文字を変換
$hoge =str_replace("Ⅰ","Ⅰ",$hoge);
//機種依存文字を変換
$hoge =  mb_convert_encoding($hoge , "EUC-JP", "UTF-8");

で無事完了しました!

Comments

Powered by Facebook Comments

この記事を読んだ方は下記も投稿も読んでいます

コメント・トラックバック

トラックバック

コメントする

Filed under: PHP
タグ: