文字操作をしたjisコードをシフトjisに変えたい
携帯メールをCGIで受け取って処理するスクリプトを書いているのですが
文字コードの処理について行き詰っています。
$str = " $B$F$9$H (B"; #jisコードで"てすと"
として、この文字列をjcode.pmでシフトjisに変換したいのですが
$body = Jcode::convert($str, 'sjis');
このようにしても$bodyの中身は" $B$F$9$H (B"のまま変わりません。
MIME::parserでうけとったjisコードの文字列はちゃんと変換されるのでjcode.pmに問題はないと思われますが、
文字列操作をして変数に入れるとMIME::parserで受け取った場合とおなじ内容でもデコードされないとゆう結果になります。
なにか根本的に違うのでしょうか…
スペースを省いてみたり
$body = Jcode::convert($str, 'sjis','jis');
としてみたりしたのですが
まったくダメでした。
ちょっとしたアドバイスだけでもいいのでよろしくお願いします。
あとお金がかかってもよいので、そういった問題を解決できそうなサイトなどがあれば紹介していただければと思います。
よろしくお願いします。m(__)m
お礼
どうもありがとうございます。 「う」という言葉が含まれる言葉での挙動がおかしいので ここに質問させていただいたのですが 昨晩よく見ていたところ禁止ワードの判定前に 「、」などを省くようになっており、 「、」はsjisでは1キロバイトで、\xa4は「う」の2バイト目と一致してしまうからでした。 ご迷惑をおかけしてすみませんでした。 また真剣に相談に乗っていただき、ありがとうございました。