こんにちわ。

先日、ローカルでPerlの実行テストを
していた際のことです。

それまであったスクリプトに次の一文を加えて
テストしました。

print "<a href=\"./advindex.cgi\" target=\"framemain\">捜査を開始する</a><br>\n";

すると、それまで日本語(シフトJIS)で
進んできていたものがこの文を追加したページで
いきなり西ヨーロッパ言語(Windows)に
変わってしまいました。
不思議に思い、この一文をコメントにし、
再度実行してみたところ、日本語(シフトJIS)
のままでした。
会社にて、全く同一のスクリプトに上記の
一文を加えて実行したところ、
自宅にて西ヨーロッパ言語に変わってしまった
ページも日本語にて表記できました。

これは、何が原因だと考えるのが妥当なのでしょうか。
OSがからむ何かのタイミングの問題
だったのでしょうか。

昨日の夜の話ですので、時間がなく、自宅にて
PCを再起動させてから実行テストは
していないのですが。

OSは共にWin2000、
ブラウザは共に5.5 SP2です。

このような現象をどう捉えたらよいのか
ご存知の方がいらっしゃいましたら、
教えていただきたいのですが。
よろしくお願いします。

A 回答 (3件)

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

やってみてはいかがでしょう。

この回答への補足

Min_2さん、こんにちわ。

回答ありがとうございました。

おっしゃるとおり、かつてエスケープ
コードで回避できることは知っておったのですが、
今回の場合はページ内の表示すべてが
文字化けしてしまうのです。ブラウザの
エンコードを確認しても西ヨーロッパ言語
となってしまっているのです。

質問文が至らず混乱させてしまい申し訳ありませんでした。

補足日時:2001/10/05 23:28
    • good
    • 0

aquastepさん、こんにちは。



日本語コードの罠(笑)にはまっちゃいましたね。

さて、CGIのサンプルなどを見ていると、「表示」と言うところが、「表\示」 になっている事があります。

これは、示 の漢字第一コード(先の8ビット)がとあるコードとぶつかるのです。なので、この後ろは、そのコードではないと明記する為に、その前に半角英数で「\」を入れるのです。

サーバ側で、うまく制御してくれなかったら、これで矯正しましょう。
でわでわ

この回答への補足

Haizyさん、こんにちわ。

回答ありがとうございました。

おっしゃるとおり、かつてエスケープ
コードで回避できることは知っておったのですが、
今回の場合はページ内の表示すべてが
文字化けしてしまうのです。ブラウザの
エンコードを確認しても西ヨーロッパ言語
となってしまっているのです。

質問文が至らず混乱させてしまい申し訳ありませんでした。

補足日時:2001/10/05 23:33
    • good
    • 0

 使用している日本語を16進数表記すると、判別するのですが、コントロールコードとタマタマ同じ場合に、この現象が出ます。


 実行サーバーで、文字化け防止策を講じてあると、防止できます。

 私も悩んだです、「Perl」でネット検索して理解しました。

この回答への補足

akasakaさん、こんにちわ。

回答ありがとうございました。

おっしゃるとおり、かつてエスケープ
コードで回避できることは知っておったのですが、
今回の場合はページ内の表示すべてが
文字化けしてしまうのです。ブラウザの
エンコードを確認しても西ヨーロッパ言語
となってしまっているのです。

質問文が至らず混乱させてしまい申し訳ありませんでした。

補足日時:2001/10/05 23:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報