アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっています。
検索しましたが、引っかからなかったので投稿します。よろしくお願いいたします。

環境はRedhat9.0、apache2.054を使用しています。
自宅でホームページを運用しようと考えているのですが、作成したindex.htmlを開くと文字化けが発生します。以前は問題なかったのですが、1ヶ月ほど前にcgiを導入してからこのような現象になったと思います。
ページのデフォルトエンコードが西ヨーロッパ言語(ISO)になっている様子で、エンコードを変更すれば文字化けは直るのですがページの更新をかけると現象が再現します。
自分で調べては設定を見ましたが、現象が改善しませんので御教授お願いいたします。
現在の設定環境は以下の通りになります。

/var/www/html/index.htmlに下記追加
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

httpd.confを編集
#AddCharset ISO-8859-1 .iso8859-1 .latin1
#AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
#AddCharset ISO-8859-3 .iso8859-3 .latin3
#AddCharset ISO-8859-4 .iso8859-4 .latin4
#AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
#AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
#AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
#AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
#AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
上記をコメントアウト
AddDefaultCharset off  追加

LanguagePriority ja  のjaを先頭に変更

/var/www/.htaccess  を追加し、下記記入
AddType "text/html; charset=ISO-2022-JP" html

/etc/sysconfig/i18n
LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.eucJP:ja_JP:ja"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

長文になりましたが、上記より改善方法がわかる方御教授お願いいたします。

A 回答 (5件)

> AddDefaultCharsetを指定していないのに


> デフォルトのエンコードが西ヨーロッパ言語(ISO)に
> なるのはなぜなんでしょう。
むぅ、自信はないですが、どこか別のファイルで、デフォルトのcharsetを指定しているように見えますけど……
状況から、サーバがcharsetを送出しているように見えます。
AddTypeなどが別のファイルにあるとか……

気になるのはcgiを導入してからというところですね。
cgiを導入したときにした設定で、似たようなところはないでしょうか?

この回答への補足

すみません初歩的なミスをしていました。
httpd.confの設定を変更した後再起動をかけたのですが、
エラーのため再起動がかかっていませんでした。
エラーを回避し、再起動をかけると文字化けが直りました。

ANo4でDefaultCharsetをoffにしたのがよかったと思います。
ご報告遅くなりましたが、御教授ありがとうございました。

補足日時:2005/07/01 17:25
    • good
    • 0

/var/www/.htaccessから


> AddType "text/html; charset=ISO-2022-JP" html
を削除し、
AddDefaultCharset off
としたらどうでしょう?
(charsetを指定しないという方法です)

shift_jis で書かれたページを iso-2022-jp で表示するように指示しているために化けているような気がします。

日本語が使えるcharsetには
iso-2022-jp(いわゆるJIS)
shift_jis(シフトJIS)
euc-jp(日本語EUC)
utf-8(Unicode由来)
などが登録されています。
それぞれ違っていて、どれに統一すればいいとかそういうことは私には言えません。

なお、No.3の「回答に対する補足」にある方法では、
実際のファイル内の charset が変わってなければ意味がありません。

AddDefaultCharset や <META http-equiv="Content-Type"> で指定する charset でhtmlファイルの中身を書かなければ、まず化けると思います。

この回答への補足

/var/www/.htaccess
自体をリネームして
AddDefaultCharset off
に設定
<META http-equiv="Content-Type">に
shift_jis
を指定したのですが現象改善しません。。

AddDefaultCharsetを指定していないのに
デフォルトのエンコードが西ヨーロッパ言語(ISO)に
なるのはなぜなんでしょう。
なにかサーバー側のキャッシュクリア等が必要になるのですか?
作成したindex.htmlをサーバーにおかずにクライアント端末においてローカル公開すれば問題なく表示され、エンコードもシフトjisで表示されます。
ということはサーバ側の設定になると思うのですが、ほかに修正かける場所というのはありますか??

補足日時:2005/06/27 11:46
    • good
    • 0

> AddType "text/html; charset=ISO-2022-JP" html



まず、これを追加するのであれば、

AddDefaultCharset ISO-2022-JP

とする方がよいでしょう。あと、

> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
> AddType "text/html; charset=ISO-2022-JP" html

これって、キャラクタセットが一致してませんよ。

ついでに言っておくと、CGIやその他の設定項目(AddCharsetのコメント化や/etc/sysconfig/i18nなど)
は文字化けとは関係ないでしょう。

この回答への補足

AddDefaultCharset ISO-2022-JP

<META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">

に変更したのですがまだ文字化けが続いている状態です。。
何の文字セットに統一したらいいとかってあるんですか?

補足日時:2005/06/16 13:05
    • good
    • 0

index.htmlはSHIFT_JISなんですよね?


ISO-2022-JPは、いわゆるJISですよ。
そこらへんの不整合によるのではないでしょうか?
見当違いだったらすみません

この回答への補足

上にも書きましたが、
<META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
に変更しましたが、現象は改善しませんでした。
ちなみに[SHIFT_JIS]、ISO-20220JP、X_JISって何が違うんですか?
なにかお薦めってありますか?
根本がわかっていなくて申し訳ありません

補足日時:2005/06/16 13:05
    • good
    • 0

apacheの設定の問題でしょう。


少しずつ元に戻していけば分かるんじゃないですか。

.htaccessを外してみるとか
AddDefaultCharset を変えてみるとか

あとリロードくらいでは反映されない場合があるので
複数の端末で確認してください
    • good
    • 0

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