- ベストアンサー
perl-cgiで1文字や2文字など短い、文字コードを正しく変換したい
一文字や、2文字の短い文字コードを正しく変換したいのですが何か、良い方法は無いでしょうか? 文字コードには、絶対に、SJISかUTF8のどちらかしか使っていません。 どなたか、お分かりになる方、教えていただけないでしょうか? よろしくおねがいいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
何文字であっても Encode の from_to を使えばいいと思います。 例 use Encode 'from_to'; # プログラムの最初の方でこれをやっておく。 # 実際に使いたい所でこれをする(この場合はShift_JISからutf8への変換)。 from_to($str, 'Shift_JIS', 'utf8'); # この後は $str の内容がutf8になっている。
その他の回答 (1)
- twinkleluz
- ベストアンサー率52% (98/185)
回答No.2
UTF-8(UTF-8Nじゃなければ)かShiftJISなら、先頭にBOMがついているかどうかを判別すれば 大丈夫のような気がします。 また、入力する文字に記号が含まれていなければ、まず通常の判定ルーチンで 判別できるでしょう (ひらがなカタカナ漢字はUTF-8では全部3バイト) 半角カタカナや記号が含まれて、UTF-8Nである場合は確実な判定は不可能です。