• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じ文なのにちがうように表示される)

同じ文なのにちがうように表示される

このQ&Aのポイント
  • 掲示板に編集機能をつけている際に、テキストファイルの編集後のHTML出力が正しく表示されない問題が発生しています。外見が同じであるはずのファイルをアップして表示すると正しく表示されるため、16進数やsjisなどのエンコードの問題が原因かもしれません。
  • テキストファイルを読み込んでHTMLとして出力する際に、文字のエンコードによる違いが生じているようです。編集機能に関連して、書き込み(編集)の段階での情報や読み込みの段階での情報についても明確にする必要があります。
  • 問題の原因が特定できるほどの情報は提供されていないため、さまざまな要素が関与している可能性があります。エンコードに関連する設定やテキスト処理のコードなどを検証し、問題の特定に向けて進めると良いでしょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

>見た目同じ文で違うように出力される とは、どのように表示されますか? 元の文と出力した文はどのようにちがいますか? テキストファイルも、CGIもHTMLも全てSJISですか?

ma_trix
質問者

お礼

おかげさまで解決しました。 書き込みデータの chop $data; をコメント化したところ上手くいきました。 またよろしくお願いします。

ma_trix
質問者

補足

回答ありがとうございました。 表示方法ですが正規は、 2006年9月1日(金)21時41分 遊び 広告 わーい と表示されるはずが、 2006年9月1日(金)21時41分 遊び 広告 わーい324 と表示されたり、 1行のみ表示するところが 全件(325件)表示されるはずが、 325件目と全然いじってもいない○○件目の2件しか 表示されません。 >テキストファイルも、CGIもHTMLも全てSJISですか? はい、おそらくすべてsjisになっていると思います。 あまり設定するところではないのでEUCなどに変えることはありません。 ちなみにテキストファイルに編集した内容を書き込むときの処理は、 foreach(@all){ $data = $_; chop $data; ( $fnum ) = ( split(/:/,$data) )[0]; if ( $fnum == $num ) { $data = "$num:$time:$title:$topic:$message\r\n"; &jcode'convert(*data, 'sjis'); } push @all_data, $data; } close(KEIJI); open(KEIJI, ">keijiban.dat") || die "File 'keijiban.dat' Open Error."; flock(KEIJI, 2); # (新規データ+過去データ)をファイルに上書き print KEIJI @all_data; flock(KEIJI, 8); close(KEIJI); 下記のような処理を行っています。 なにかヒントおありでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A