日本語処理、ActivePerlでは無理なのでしょうか?
下記test.plを実行すると、
========================================================
"\x{00e3}" does not map to shiftjis at test.pl line 10.
...
u is \x{00e3}\x{0082}\x ...
"\x{0082}" does not map to shiftjis at test.pl line 11.
...
s is \x{0082}\x{00e6}\x{0081}[\x{0082}±
me is 倉田真由美
=========================================================
となって、倉田真由美しか期待通りに出力されません。
外部ファイルの"よーこ"を正しく扱う方法はないのでしょうか?
test.pl (utf-8)
--------------------------------------------
use utf8;
binmode STDOUT => ":encoding(shiftjis)";
binmode STDERR => ":encoding(shiftjis)";
require 'u.pl'; # utf-8 の外部スクリプト
require 's.pl'; # sjisの外部スクリプト
$me = "倉田真由美";
print "u is $u\n";
print "s is $s\n";
print "me is $me\n";
-------------------------------------------
u.pl (utf-8)
-------------------------------------------
$u = "よーこ";
-------------------------------------------
s.pl (sjis)
-------------------------------------------
$s = "よーこ";
-------------------------------------------
ActivePerl 5.8.0.806
Windows2000 (cmd.exe)
よろしくお願い申し上げます。
No.2ベストアンサー
- 回答日時:
ウチで使っているのは
ActivePerl v5.8.4
build 810
で
環境は
XPProです
#1の答えの様にして、期待通り動きました。
最新バージョンに変えてみてはどうでしょうか
完璧です!
5.8.6にバージョンアップしたら、みごと解決できました!
ありがとうございます!!
同一人に20pt+10ptはできないみたいで20だけさせていただきました。
No.1
- 回答日時:
読み込みするスクリプトファイルの方で、エンコードを記入しておく。
u.pl (utf-8)
-------------------------------------------
use encoding utf8;
$u = "よーこ";
-------------------------------------------
s.pl (sjis)
-------------------------------------------
use encoding sjis;
$s = "よーこ";
-------------------------------------------
ありがとうございます。
でも解決できませんね。
use utf8;
use shiftjis;
等も試しましたが、シフトJISの方だけdoes not mapが吐かれなくなりました。
しかし、出力は
s is \x{00a6}\x{005b}\x{00b1}
s is よーこ
u is よーこ
と出したいのです。
こちらの環境が悪いのでしょうか?
かなり基本的なことだと思うのですが、方々調べても解決策はありませんでした(2日も使ってしまいました)。
「Perlには無理」とエキスパートの方からはっきり言って頂けるとあきらめもつくのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 George: Oh, that. That's the Wasp. Stuart: Wow. Sh 2 2023/07/17 15:46
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 英語 Although bleeding does not occur on every occasion 1 2023/03/03 20:10
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- 英語 高校英語です。 This word is too difficult for me to spell 5 2022/07/06 20:55
- 英語 この3つの文をeven ifを使って書き換えるとどうなりますか? ① My best endeavo 1 2022/10/02 11:03
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- 哲学 Humility is ... appearance.の一番古い出典となる書物は何で著者は誰ですか? 11 2022/04/21 03:19
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- 戦争・テロ・デモ ウクライナ人から 3 2023/03/05 07:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル出力をUTF8Nではなくて...
-
Perl cgiの文字化けを直したい ...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルを途中行まで...
-
Perlで特定行から特定行までを...
-
openした後、closeしないでプロ...
-
Perlの初心者です。2重ループ...
-
csvファイルの横方向への改行に...
-
C言語の問題について
-
エクセルVBA コードが同じでも...
-
ReadLineでの読み出し行を指定する
-
ExcelをCSV書き出す場合のシー...
-
perlで、後ろの行を読んで、前...
-
データファイルをプロットする(...
-
vba dir の相対パス
-
perlからのexcel読み込み
-
VBAでCSVファイルの特定行を書...
-
動画像から静止画を取り出すには
-
Firefox で file:// で始まる U...
-
chdirがうまくできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル出力をUTF8Nではなくて...
-
Perl cgiの文字化けを直したい ...
-
perlをwindows環境でshift-jis...
-
Perl utf8上でshiftjisをデコード
-
[Perl]Shift-JISのXMLを解析する場
-
(Perl)UTF-8で別ファイルに書き...
-
utf8使用時のフォーム入力文字...
-
Data::Dumper;でダンプ後表示し...
-
perlのLWP::Simpleでgrepの値が...
-
vimでのutf8の取扱について
-
Perl UTF8で出力
-
perlのmysqlで文字化けをする、...
-
HTTP::Request::Common qw(POST...
-
文字を一文字ずつ区切りたい
-
does not map to shiftjis は解...
-
じゃらんのAPIでRESTで取得した...
-
perlでuse utf8でsjisのファイ...
-
VBAでCSVファイルを途中行まで...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
おすすめ情報