作者: 藤岡和夫
日時: 2005/9/06(18:02)
On Tue,  6 Sep 2005 16:21:58 +0900 (JST)
kbk@... (Bruce.) さんwrote:

> eq で 条件が真になる理由がわかりませんが(入力文字列がupgradeしてから
> 比較されてる?)、フォームから持ってきた“藤岡”という文字列と、スクリ
> プト中の“藤岡”という文字列の文字コードが違うのが原因ではないでしょ
> うか? あくまでもスクリプト中の文字列はPerlの内部コードにupgradeされて
> いることにご注意。
> 
> $name = decode('sjis', $in{'name'});
> if($name =~ /藤岡/){
> 
> のようにしてやると期待通り、条件は真となりました。

 ありがとうございます。

 そうか、とにかくわかりにくいですね。頭が悪いのか(^^;)うっかりものの私
には向いていない(^^;;;

 $name eq "藤岡"で評価する場合はどらでも期待通りの動作をしますね。おか
しいですね。

 Unicode::Japaneseは、Perl5.8(+ use encoding 'Shift_JIS')下???では思う
ように文字コード(utf8→sjis)を変換できないみたいな感じ。できたと思ってい
たのが、juri_encodeのところで止まっているのに今日気が付きました。一応は
動いていたはずなのに勘違いか (^^;)結局、rss2html.cgiをEncodeモジュールで
書き直すと、意図どおりすべてうまく動きました。が、jperlで1秒で処理できる
ことに9秒を要しました。仕事はたくさんしているんだから仕方ないか。ここま
で違うとは思わなかったけど、やはり、encodingは使うべきでないかな。HTMLフォー
ムから受け取ったデータも結局、decodeして使う必要があるなら、encodingをす
るメリットはほとんどないですよね。

 お蔭様で次第にいろいろとわかってきたので、UTF-8でスクリプトを書く方向
に転換します(^^)v

藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/