• 締切済み

IEのCGIリンク先の自動文字化け

こんにちわ。 先日、ローカルでPerlの実行テストを していた際のことです。 それまであったスクリプトに次の一文を加えて テストしました。 print "<a href=\"./advindex.cgi\" target=\"framemain\">捜査を開始する</a><br>\n"; すると、それまで日本語(シフトJIS)で 進んできていたものがこの文を追加したページで いきなり西ヨーロッパ言語(Windows)に 変わってしまいました。 不思議に思い、この一文をコメントにし、 再度実行してみたところ、日本語(シフトJIS) のままでした。 会社にて、全く同一のスクリプトに上記の 一文を加えて実行したところ、 自宅にて西ヨーロッパ言語に変わってしまった ページも日本語にて表記できました。 これは、何が原因だと考えるのが妥当なのでしょうか。 OSがからむ何かのタイミングの問題 だったのでしょうか。 昨日の夜の話ですので、時間がなく、自宅にて PCを再起動させてから実行テストは していないのですが。 OSは共にWin2000、 ブラウザは共に5.5 SP2です。 このような現象をどう捉えたらよいのか ご存知の方がいらっしゃいましたら、 教えていただきたいのですが。 よろしくお願いします。

みんなの回答

noname#225520
noname#225520
回答No.3

 たとえば「掲示」と書くと文字化けしてしまうことがあるので「掲\示」とやることで回避したことがあります。やってみてはいかがでしょう。

aquastep
質問者

補足

Min_2さん、こんにちわ。 回答ありがとうございました。 おっしゃるとおり、かつてエスケープ コードで回避できることは知っておったのですが、 今回の場合はページ内の表示すべてが 文字化けしてしまうのです。ブラウザの エンコードを確認しても西ヨーロッパ言語 となってしまっているのです。 質問文が至らず混乱させてしまい申し訳ありませんでした。

  • Haizy
  • ベストアンサー率40% (404/988)
回答No.2

aquastepさん、こんにちは。 日本語コードの罠(笑)にはまっちゃいましたね。 さて、CGIのサンプルなどを見ていると、「表示」と言うところが、「表\示」 になっている事があります。 これは、示 の漢字第一コード(先の8ビット)がとあるコードとぶつかるのです。なので、この後ろは、そのコードではないと明記する為に、その前に半角英数で「\」を入れるのです。 サーバ側で、うまく制御してくれなかったら、これで矯正しましょう。 でわでわ

aquastep
質問者

補足

Haizyさん、こんにちわ。 回答ありがとうございました。 おっしゃるとおり、かつてエスケープ コードで回避できることは知っておったのですが、 今回の場合はページ内の表示すべてが 文字化けしてしまうのです。ブラウザの エンコードを確認しても西ヨーロッパ言語 となってしまっているのです。 質問文が至らず混乱させてしまい申し訳ありませんでした。

  • akasaka
  • ベストアンサー率38% (38/99)
回答No.1

 使用している日本語を16進数表記すると、判別するのですが、コントロールコードとタマタマ同じ場合に、この現象が出ます。  実行サーバーで、文字化け防止策を講じてあると、防止できます。  私も悩んだです、「Perl」でネット検索して理解しました。

aquastep
質問者

補足

akasakaさん、こんにちわ。 回答ありがとうございました。 おっしゃるとおり、かつてエスケープ コードで回避できることは知っておったのですが、 今回の場合はページ内の表示すべてが 文字化けしてしまうのです。ブラウザの エンコードを確認しても西ヨーロッパ言語 となってしまっているのです。 質問文が至らず混乱させてしまい申し訳ありませんでした。

関連するQ&A

専門家に質問してみよう