ユング君自身の備忘録です。
データベースにはEUC-JPで納められている文字列を、SJISで出力したいと言うことがあります。
最初からサイト全体を計画的に構築していればそんなアホウなことは起こらないのですが、個人サイトの場合は建て増しを続けた温泉旅館みたいな構造になっているところが多くて、結構そういう事態に直面することがあります。実際、ユング君のサイトもなんとか表面は取り繕っていますが、内実はそんなもんです。
実は今日もそう言うアホウな事態に立ち至り、何かいい方法はないかと探っていると見つかりました。
string mb_convert_encoding(string 文字列, string 変換後エンコード[, mixed 変換前エンコード])
PHPのマルチバイト文字列関数というやつです。データベースから読み出してから
$str = mb_convert_encoding($str, “EUC-JP”, “SJIS”);
みたいにして変換すると、あーら不思議、データベースではEUC-JPで格納されていた文字列がSJISで出力してくれます。