お世話になっています。
検索しましたが、引っかからなかったので投稿します。よろしくお願いいたします。
環境は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"
長文になりましたが、上記より改善方法がわかる方御教授お願いいたします。
No.5ベストアンサー
- 回答日時:
> AddDefaultCharsetを指定していないのに
> デフォルトのエンコードが西ヨーロッパ言語(ISO)に
> なるのはなぜなんでしょう。
むぅ、自信はないですが、どこか別のファイルで、デフォルトのcharsetを指定しているように見えますけど……
状況から、サーバがcharsetを送出しているように見えます。
AddTypeなどが別のファイルにあるとか……
気になるのはcgiを導入してからというところですね。
cgiを導入したときにした設定で、似たようなところはないでしょうか?
この回答への補足
すみません初歩的なミスをしていました。
httpd.confの設定を変更した後再起動をかけたのですが、
エラーのため再起動がかかっていませんでした。
エラーを回避し、再起動をかけると文字化けが直りました。
ANo4でDefaultCharsetをoffにしたのがよかったと思います。
ご報告遅くなりましたが、御教授ありがとうございました。
No.4
- 回答日時:
/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で表示されます。
ということはサーバ側の設定になると思うのですが、ほかに修正かける場所というのはありますか??
No.3
- 回答日時:
> 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">
に変更したのですがまだ文字化けが続いている状態です。。
何の文字セットに統一したらいいとかってあるんですか?
No.2
- 回答日時:
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って何が違うんですか?
なにかお薦めってありますか?
根本がわかっていなくて申し訳ありません
No.1
- 回答日時:
apacheの設定の問題でしょう。
少しずつ元に戻していけば分かるんじゃないですか。
.htaccessを外してみるとか
AddDefaultCharset を変えてみるとか
あとリロードくらいでは反映されない場合があるので
複数の端末で確認してください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 of の必要性と意味 2 2022/07/31 17:09
- その他(ソフトウェア) 辞書CD-ROMをISOに 2 2023/05/11 13:29
- 一眼レフカメラ プログラムオートといわゆるオートの違いは? 1 2022/09/11 20:20
- その他(OS) windows11非対応のインストール 3 2022/10/26 07:12
- 画像編集・動画編集・音楽編集 MP4動画をISOに変換 9 2023/06/12 18:20
- Windows 95・98 PC98エミュ 1 2023/01/03 17:00
- 一眼レフカメラ 一眼レフカメラ 「露出補正」で変化するのは、絞り?シャッタースピード?ISO感度? 6 2023/01/15 19:33
- 画像編集・動画編集・音楽編集 連続質問です 動画ファイルの圧縮時のビットレートというのについて教えてください 2 2023/08/06 11:50
- 写真 カメラ初心者です。Sonyのα5000を使ってみてるんですけど、もうよく分かりません。 試し撮りで家 4 2023/03/13 01:49
- その他(趣味・アウトドア・車) 結婚式でのデジカメのノンストロボ撮影は可能ですか? 8 2023/07/05 15:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlファイルのコピーが勝手に...
-
visual studioのデザイナがhtml...
-
バージョン情報を比較するバッ...
-
カンマ区切り形式ではなく、セ...
-
リンクをアップデートするしな...
-
<IFRAME>でコンテンツ部分のみ...
-
キングファイルの背表紙を作成...
-
VBAでマルチページのページ指定...
-
エクセルVBAでマルチページの切...
-
エクセルで置換リストを別ブッ...
-
word2007英語版を使っています。
-
正規表現の置換で一部の文字列...
-
画像へのリンク(URL)埋め込み
-
adobe PDF リンク枠を消せますか
-
秀丸エディタ タブをカンマに...
-
UserForm.showでマルチページ1...
-
パワーポイントで参照ページを...
-
ExcelのROUND関数を一括解除し...
-
LPレコードをMACに取り込む方法
-
htmlコードのロック
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlでテキストファイルの中身...
-
htmとhtmlの違い
-
バージョン情報を比較するバッ...
-
簡単なホームページ作成
-
読めないです(文字化けか?「...
-
無料ホームページテンプレート...
-
iモードとCSS
-
データバインド使用のhtmlへの...
-
スマホからPCサイトを見られる...
-
スマホに送られてきたhtmlのテ...
-
htmlファイルのコピーが勝手に...
-
ホームページの文字化け
-
HTMLのリンク先が表示されない
-
プログラミングでこのファイル...
-
datとhtml はどう違いますか? ...
-
htmlとhtmの違いって。。。
-
Cドライブにリンクしているよう...
-
htmlファイルの作り方 ブログの...
-
htmlファイルをブラウザで開く...
-
カンマ区切り形式ではなく、セ...
おすすめ情報