【しばらく編集不可モードで運営します】 編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

改行倍増問題 - 環境は、クライアント=MSIE5.0SP2(Win98) MSIE5.5SP2(NT4.0)。サーバ=AN-HTTPD。

環境は、クライアント=MSIE5.0SP2(Win98) MSIE5.5SP2(NT4.0)。サーバ=AN-HTTPD。 おそらく、Winの改行コードがCRLFであることが原因だと思います。 とりあえず次のようなコードで解決しました。 init_form内の$form{$property} = $value;の直前に、

 $value =~ s/\r\n/\n/g;
 $value =~ tr/\r/\n/; 

と書いてやります。 このコードは良く知られる改行コードのパターン(\n,\r\n,\r)を\nに統一します。この処理をフォームデコード直後で行ってやることで、その後の処理では安心して\nを処理できます。 \r\r\nの改行コードにも対応すべきなのでしょうか?

MacのNN6、IE5.5でも倍増する気配です。


以下の環境でも改行倍増になりました(プレビューするたびに倍になります)。この修正で直りました。ありがとうございました。