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

下記のソースで誤表示しない方法を知りたい。
1 use utf8
2 use Encode;
3 use open IO => ":encoding(sjis)";
4 binmode STDOUT,':utf8';
5 open (IN,'03.txt')||die "file ope err\n";
6 @in=<IN>;
7 close IN;
8 @in=();
9 print @in;

下記のエラーが出る。
shiftjis "\x87" does not map to Unicode at C:\Users\usui\EDMax\DataGen6\03.pl line 6, <IN> line 2175.

A 回答 (1件)

丁度いいのがあったので。


http://charset.7jp.net/sjis.html

\x87 ということは、この表の「シフトJISの2バイトコード(全角文字)のエリアマップ」の「13/14 87」というところに並んでいる ①みたいな数字とか 一文字で表した ローマ数字 ( I , II , III 等) を使っていませんか?

これらの文字は「Shift_JIS」には無い文字です。
よって、Unicodeに変換できません。

Shift_JISを拡張した CP932 などには、これらの文字が含まれています。
https://ja.wikipedia.org/wiki/Microsoft%E3%82%B3 …

sjisではなく、cp932で試してみてはいかがでしょうか
    • good
    • 0
この回答へのお礼

助かりました。
cp932で正常に動作しました。

有難う御座いました。

お礼日時:2015/07/27 23:02

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