みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Perlの文字コード変換について

ActivePerl-5.14を使っているのですが、文字コードの変換はどのようにすればいいのでしょうか。

ローカル環境で動かしているのですが、Shift-JISのテキストを読み込んで、EUC-JPに変換したいと思っているのですが、
今まで5.8を使っていたので、Jcodeを使って、&Jcode::convert(\$txt,'euc'); としていたのですが、5.14ですと
use Jcode; 

の時点でエラーになってしまいます。

use Encode;
を使って、
from_to($txt, 'shiftjis', 'euc');
としてみましたが、
from_to($txt, 'shiftjis', 'euc');
のところでエラーになってしまいます。

ActivePerl-5.14ですと、どのように文字コードの変換をすればいいのでしょうか。

どなたか教えてください。

よろしくお願いいたします。

投稿日時 - 2011-09-06 11:03:36

QNo.6992896

すぐに回答ほしいです

質問者が選んだベストアンサー

use Encode qw(from_to);とするか、
Encode::from_to()とする。
あと'euc'という文字コードも該当なしなので'eucjp'とする。

投稿日時 - 2011-09-06 11:57:42

お礼

kuroizellさん

ご回答ありがとうございました!

教えていただきましたとおりにやってみたら無事に変換されていました!!

本当にありがとうございます!

また何かありましたらお願い致します!

投稿日時 - 2011-09-06 13:17:58

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

具体的にはどのようなエラーになるのですか?

ひょっとして, 「EUC は日本だけのもの」と思っている?

投稿日時 - 2011-09-06 11:47:33

お礼

Tacosanさん

ご回答ありがとうございます。
文字コードについてあまり知識がないのと、エラーの意味もよく分からなくて申し訳ございませんが、

use Jcode;
の行では、下記のエラーになります。

Can't locate Jcode.pm in @INC (@INC contains: C:/site/lib C:/lib .) at xxxxx.pl line 27.

from_to($txt, 'shiftjis', 'euc');のところでは、

Undefined subroutine &main::from_to called at xxxxx.pl line 140

というエラーになります。

おわかりになりますでしょうか。

よろしくお願いいたします。

投稿日時 - 2011-09-06 12:33:36

あなたにオススメの質問