EUC-JPで書かれている文字列をUTF-8に直したいと思ったら、この記事のタイトルにも書いてあるmb_convert_encodingを使えばエンコードできる。
ただし、ちょっと気をつけておかなければならないのは、中には変換できない文字もあるということ。
たとえば、①とかがそう。これをEUC-JPからUTF-8に変換すると、?になってしまう。
この手の文字が文字列に入っている場合は、↓こんな感じにすれば変換は可能っぽい。
$str = 'ムダヅモなき改革①';
$str = mb_convert_encoding($str, 'EUCJP-win', 'EUC-JP');
$str = mb_convert_encoding($str, 'UTF-8', 'EUCJP-win');
いったんEUCJP-winに変換してからUTF-8に変換するわけですな。
とりあえず僕はこんな感じで対処してますけど、しかしソースとしてはちょっとかっこわるいような・・・?
何かもっとうまい(かっこいい)方法はないものでしょうか・・・何か1発でできるような。
あと、確認はしてないけど、この変換だとMacで見た場合はどうなるのかしら。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。