Perlについての質問箱 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
336:デフォルトの名無しさん 07/04/22 23:56:33 >>333 むあじっすか。 337:デフォルトの名無しさん 07/04/22 23:59:22 >335 use Encode qw/from_to/; my $str = '%E8%B3%AA%E5%95%8F'; # utf8の'質問'をエスケープ (my $dec = $str) =~ s/%([a-f\d]{2})/pack 'H2', $1/egi; from_to($dec, 'utf8', 'cp932'); # Winのコマンドプロンプトで表示するのでcp932にしてる print $dec; とりあえずこれで動いてるけど? ブラウザに出してるんなら、Shift_JISって解釈されてるとかじゃない?? 338:デフォルトの名無しさん 07/04/23 00:01:31 >>335 > $utf8str =~ s/%([a-f\d]{2}/pack('H2',$1)/egi; $1のための括弧が閉じられてません。 あとは、UTF-8に対応したEditorで開いてないとかでしょうか。 上の式で正しくアンエスケープされました。 339:デフォルトの名無しさん 07/04/23 00:35:06 括弧閉じ忘れでごめんなさいorz >>337さんのスクリプトを実行したところ、文字化けしませんでした。 また、from_toする前でも、ファイルにリダイレクトして、 そのファイルをエディタで開いても同様に文字化けしていませんでした。 しかし、サーバに持って行ってブラウザに結果を出すと文字化けしてしまいます。 エディタはUTF-8に対応していて、Perlスクリプトもutf-8で保存して、 use utf8; use open ":utf8"; use open ":std";して、 print "Content-type: text/html; charset=utf-8\n\n"; いるのですが、 >>337さんのものでprint $dec;でもprint $str;でも駄目(文字化け)でした。 環境はWin XP SP2 + IE7、[表示]-[エンコード]でもUTF-8であることを確認しているのですが。。 。 度々で申し訳ないのですが、他に何か怪しい箇所がありますでしょうか?
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5380日前に更新/220 KB
担当:undef