- ベストアンサー
ファイルの変換
サーバ上にあるdata.txt(SJIS)をUTF-8にファイル変換して、 data1.txtとして別名で保存したいのですが どのようにすればいいでしょうか? Perl バージョン 5.008004 です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Encodeという標準ライブラリを使ってみたのですがどうでしょう? use Encode; my $buff; open(FILE, "< C:\\data.txt"); foreach (<FILE>) {$buff .= $_;} close(FILE); Encode::from_to($buff, "sjis", "utf8"); open(FILE ,"> C:\\data1.txt"); print FILE "$buff"; close(FILE);
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.2
そのShiftJISのテキストがどのような出自なのかわかりませんが、 Windowsユーザーが作ったドキュメントなどであるなら、 from_to($text, 'sjis', 'utf-8') よりは from_to($text, 'cp932', 'utf-8') にしておいたほうが無難です。 これでも期待通り変換できない場合があったりしますけど。
質問者
お礼
data.txt(SJIS)はperlから出力されたものです。 ちがいがよくわかりませんがcp932でもうまくいきました。 ありがとうございました。
お礼
うまくいきました。ありがとうございます。