07/04/22 23:26:59
日曜潰してまだ分からないので、どなたか助けてください\(ToT)/
UTF-8でURIエスケープされた文字列を、アンエスケープするPerlの処理でけつまづいてます。
元の文字列をURIエスケープした文字列がサーバ側まで来ているのは確認しました。
「質問」→「%E8%B3%AA%E5%95%8F」だとか、「ü」→「%C3%BC」だとか。
これを
$utf8str =~ s/%([a-f\d]{2}/pack('H2',$1)/egi;
しても、正しくアンエスケープされない(文字化けする)のです。
UTF-8が可変バイトなのが曲者なのでしょうか。。。
ググった先(URLリンク(oshiete1.goo.ne.jp))の
$utf8str =~ s/%(e[a-f\d])%([a-f\d]{2})%([a-f\d]{2}/pack('H2',$1).pack('H2',$2).pack('H2',$3)/egi;
してもやはりだめでした。