アプリ版:「スタンプのみでお礼する」機能のリリースについて

perlのバージョンがあがった関係で、jcode.plをJcode.pmに対応する為に記述方法の変更に奮闘中です

機種依存文字(株)に関してうまくいかないようで、下記のように文字化けしてしまいました

例1)
$a="あ(株)";->あ+機種依存文字(株)
Jcode::convert(\$a,'euc');
print"$a"; ->あ?

例2)
$a="あ(株)";->あ+機種依存文字(株)
$a= jcode($a)->h2z->euc;
print"$a"; ->あ?

例3)
$a="あ(株)";->あ+機種依存文字(株)
$a = Jcode->new($a,"euc")->tr("あ","わ")->h2z->euc;
print"$a"; ->わ?

各記述の後、$a内の機種依存文字(株)は?になってしまいます
機種依存文字(株)としてそのまま認識したいのですが、どのような記述にすればいいのかわかりません
(機種依存文字(株)以外の文字化けはまだ調べていません)
※perl5.8.7では認識されず、以前のperlのバージョン5.005_03ではそのまま認識されています

ご教授宜しく御願いします

A 回答 (2件)

Jcodeは、perl5.008以上では、内部的にEncode.pmを使うようになっているみたいです。

標準のEncode.pmは、SJIS(CP932)では機種依存文字OK、EUCではNGなはずです。

私は使ったことが無いのですが(すみません)、Encode::EUCJPMSというモジュールがあって、これを使えば機種依存文字などが使えるようになるはずです。

この他にも、
・Jcode.plを使う(今までどおり)
・Text::iconvを使う
というような選択肢があると思います。

以上、参考情報です。

この回答への補足

回答ありがとうございます
とても参考になります

以前のperlのバージョンではjcode.plを使っていたので、jcode.plを使うことも検討したいと思います
(最新には最新をと思っていたので、検証していませんでした)

初歩的な質問かも知れませんが、perl5.8.7でjcode.plはperl5.005_03と同じ動作をしますか?

補足日時:2006/12/11 14:13
    • good
    • 0

>初歩的な質問かも知れませんが、perl5.8.7でjcode.plはperl5.005_03と同じ動作をしますか?



同じjcode.plを使えば、動作が変わることはないと思います。
心配であれば、woixuさんの環境で確認してみてください。
    • good
    • 0
この回答へのお礼

回答有難う御座います
確認したところ、以前と同じ動きをしました

助かりました
ご教授有難う御座いました!

お礼日時:2006/12/12 14:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!