人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windows2000で Perl 5.8.3 の encoding を使い ローマ数字を指定すると
『Unrecognized character ¥xA6 at ****』というエラーが表示されます。
解決方法を教えてください。
サンプルスクリプトは、下記のとおりです。
=======================================
use strict;
use encoding ”shiftjis”;

my( $str ) = ’System ?の表示’;

print ”$str¥n”;
$str =~ s/system/システム/ig;
print ”$str¥n”;

exit 0;
=======================================

●質問者: tobehen
●カテゴリ:コンピュータ
✍キーワード:AT EXIT Perl print STR
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● aki73ix
●5ポイント

http://www.hatena.ne.jp/1089817764

ポケットはてなで自分のIDでログインして質問に回答する方法が分かりません。携帯のメアドは登録済みで携帯に送られてきたメールも返信しましたがゲストのままです。登録.. - 人力検索はてな

my( $str ) = ’System ?の表示’;

my( $str ) = ’System ?の表¥示’;

にしてみてください(¥は半角)

これは表の文字コードに「¥」が含まれるためです。

他にも

― ソ Ы ? 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭 ? ? ? 霏 ? 鞋

の文字が含まれると同じようなエラーが出るので

これらの文字の後は必ず”¥”を入れます

◎質問者からの返答

ごめんなさい。¥ の問題ではありません。

ローマ数字を除くとエラーは出力されません。

また、サンプルプログラムの”(ダブルクオート),’(シングルクオート),¥(円マーク)は、2バイト文字になっているようです。


2 ● JULY
●55ポイント

http://perl.active-venture.com/pod/perljp.html

Perl 5.8 Documentation - perljp - 日本語 Perl ガイド

ローマ数字は Windows の拡張(実際に、同じ Shift-JIS でも MacOS では文字化けする)

なので、encoding の指定を cp932 にしてみては?

◎質問者からの返答

cp932でうまく解決できました。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ