CGIとかPerlとか超初心者なんだけど、
■ このスレッドは過去ログ倉庫に格納されています
0121nobodyさん
02/09/15 16:05ID:kYEyD4Vxもう少し、状況を詳しくご説明いたします。
MacOSX用Internet Explorer5.2で「放送」という文字列を
JavaScriptの変数wordに代入して、escapeします。:
(1) word = escape(word);
それをcookieに保存して:
(2) document.cookie = word=' + word + '; path=/;';
そのcookieをperl/cgiから読ませます:
(3) @key_value = split(/;s/, $ENV{'HTTP_COOKIE'});
(1,2,3)により、「方法」が
(4) %uFF95%uFFFA%uFF91%uFF97
となってしまいます。この(4)をeucの「放送」に戻す方法
を探していました。
ある方から、(4)がUnicodeに対応しているようなので、
(5) $s1 =~ s/%uFF([A-F0-9]{2})/pack 'H*', $1/eg;
を使え、というご指導を受けました。「放送」を含む多くの文字が、
(5)のコードで、正しく処理できました。しかし、「資本」という文字
は、(1,2,3)の処理をすると、(6)に変換され、
(6) %uFF8E%uFF91%uFF96%7B
(5)の方法で(6)を変換すると、最後の%7Bが変換されずに、(7)のように
なります。
(7) 資%7B
よろしくご指導をお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています