• ベストアンサー

Locationの文字化け

HTTP_REFERERで取得した情報によって表示するページを振り分けたいのですが、 print "Location: url\n\n";で表示されるページがNN4.7で文字化けしてしまいます。 解決方法があれば教えていただけますか? お願いします。

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

  • ベストアンサー
  • nak205
  • ベストアンサー率60% (40/66)
回答No.3

実はいま別件で知り合いから教わったんですが、 print "Status: 301 Mover Permanently\n"; print "Location: url\n\n"; とすれば解決出きるそうです。

harisun
質問者

お礼

試してみたところ、ばっちりでした。 どうも有り難うございました。

その他の回答 (2)

  • TimWood
  • ベストアンサー率50% (2/4)
回答No.2

ちなみに追加。 確かに<META>タグはWebサーバが読むためのものですが、 最近のブラウザはブラウザ側でも読んでくれます。

harisun
質問者

お礼

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

noname#205142
noname#205142
回答No.1

WebサーバはApacheですよね? Locationによって表示されるページで、きちんとCharsetを出力していない場合このようなことがおきます。 CGIであれば、Content-TypeにCharsetを付加してヘッダを出力すれば解決します。  print "Content-Type: text/html; Charset=EUC-JP\n\n"; htmlなどであれば、httpd.confのDirectoryタグもしくは.htaccessでデフォルトのcharsetを指定すれば解決します。  AddDefaultCharset EUC-JP もしリダイレクト先のコンテンツが第三者の管理下に有る場合は知りません。本来はContent-Typeでcharsetを指定するべきことになっていますので。  http://www.csl.sony.co.jp/cgi-bin/hyperrfc?2616 # 「<META>タグで漢字コードを指定する」とかって話は、 # 結局のところContent-TypeヘッダにCharsetオプションを付加するための壱手段です。 # ヘッダが制御できる場合は制御しちゃった方が確実ってもんです。

参考URL:
http://httpd.apache.org/docs/mod/core.html#adddefaultcharset
harisun
質問者

お礼

ご回答ありがとうございます。 >WebサーバはApacheですよね? はい、そうです。 >もしリダイレクト先のコンテンツが第三者の管理下に有る場合は知りません 実はそういう状況なのです。でもリダイレクト先のページには、 <META>でCharset=Shift_JISが指定してあります。 NN4.7で再読み込みすると文字化けが直るのですが、最初の表示が化けます。 サーバの設定をいじれなければしょうがない事なのでしょうか?

関連するQ&A

専門家に質問してみよう