SJIS文字コードハマリ(UTF8+smartyでSJIS表示)
PC関連 | 2008-03-26動的なページを作る時、大体システムとデザイン表示で文字コード揃えますよね。
ただ、仕様とかでどうしても統一できない時あります。
この時くせものなのがSJIS。
携帯サイトとかでSJIS対応しているシステムやさんは大変ですね;
えー、携帯サイトではないですが、
PHP(UTF8)+smarty(UTF8)でSJIS表示のサイト作成ではまりました…
まぁ、表示の際にsmartyに渡す値に対して、
mb_convert_encodingで、SJIS変換掛けてあげればいいじゃまいかと思うよね。
ところがどっこぃ。
~(波線)とチルダ(波線っぽいやつ)って違うのに
同一の~(波線)になっちゃった。。ボソ
㎡が表示できません。。ボソ
勝手に変換させられちゃうぽいぉ…
そんなこんなでえらい時間食いましたが、
結局…
SJISじゃなくて、「SJIS-WIN」ってやつにmb_convert_encodingして解決。
これでも完全にはカバー出来ないくさいけどね。
上記の症状は解決したってことれす。
解決するのにめっちゃ時間かかった…。
プログラマのみなさんは文字コードにははまった経験あるもんさね。
ちなみに、PHP(EUC)で表示SJISの時は、
カタカナの「ソ」や、漢字の「予」や「十」の後にが勝手に付くエラーに陥る。
(2バイトめが5cのやつ)
↑これ、個々にstripslashesして対策。
SJIS嫌いになるぜよ。