Perlでcgiのページを作っています。文字コードはEUCです。
最近、IEのバージョンを8から10にアップグレードしたのですが、
自分の作ったページが、たまに文字化けするようになりました。
IE10のエンコード設定は「自動選択」にしていますが、
自動で「西ヨーロッパ言語(ISO)」に判断されてしまいまうことがあります。
Perlのcgiの文字コードはEUCで、ソースには以下のようにEUC-JPを指定しています。
<meta http-equiv="Content-Type" content="text/html;charset=EUC-JP">
手でIE10の文字コードをEUCに設定すれば文字化けは直るのですが、
数日経つとまた同じように文字化けで「西ヨーロッパ言語(ISO)」に自動判断されてしまいます。
metaでEUC-JPをしていればブラウザ側で自動判断してくれると思っていたのですが、違うのでしょうか?
HTMLでmeta以外に文字コードを指定するところがあるのでしょうか?
No.1ベストアンサー
- 回答日時:
Webサーバはなんです?
>metaでEUC-JPをしていればブラウザ側で自動判断してくれると思っていたのですが、違うのでしょうか?
>HTMLでmeta以外に文字コードを指定するところがあるのでしょうか?
Webサーバの設定によっては化ける。という例がありますね。
「Apache 文字化け」辺りで検索すると情報が見つかるでしょう。
http://tech.bayashi.net/pdmemo/chara2.html
ってことで……そのCGIはHTTPレスポンスヘッダのContent-typeは出力していますか?
さらに、Content-typeでcharsetを指定していますか?
# charset指定していないとWebサーバのデフォルト設定が使用されるでしょう。おそらく。
この回答への補足
回答ありがとうございます。
レスポンスヘッダは、これを送ってました。
print "Content-type: text/html\n\n";
このように書けばよということですね。これでしばらく様子見てみて、またここで報告します。
print "Content-type: text/html;charset=EUC-JP\n\n";
レスポンスヘッダで文字コード指定できるのは知らなかったです。ありがとうございます。
サーバーはApacheですが、そのサーバーで動くcgiはEUC-JPだけでなくShift-JISのcgiもあるので
設定変更はやめておきます。
解決しました。
レスポンスヘッダを修正してしばらく様子みてみましたが、文字化けしなくなりました。
ありがとうございました。
【レスポンスヘッダ修正前】
print "Content-type: text/html\n\n";
【レスポンスヘッダ修正後】
print "Content-type: text/html;charset=EUC-JP\n\n";
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPExcelバッファへの書き込み...
-
PHPで「®」や特殊文字のエスケープ
-
Google Chromeで文字化け
-
(mysql_set_charset)PHPでINSER...
-
batファイルでうまく動かないプ...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
リンク先を隠す方法はないでし...
-
「@$変数」の「@の意味は?」
-
PHPのif文でその処理を途中で抜...
-
フォームで戻った際に入力済み...
-
form actionで二つ送信先を指定...
-
XAMPP1.7.1上でPHPを実行すると...
-
CFileDialogの最初のディレクト...
-
VBAでJPGサイズ変更
-
Illustratorで文字と画像を流し...
-
図に示す階層構造で,現在のデ...
-
visualstudioでc#のdllができない
-
【file_exists】ファイルが存在...
-
PHP+MySQL SQL文を外部ファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EclEmmaレポートのエクスポート...
-
PHPExcelバッファへの書き込み...
-
<meta charset="utf-8"><!-- 文...
-
mysql→EUC-JP、php→UTF-8の時の...
-
PHP time()に関しての質問です
-
ファイルの文字コードを調べる...
-
phpログファイルの文字化けにつ...
-
文字化けについて
-
phpで動的タイトル
-
GEEKLOG(ギークログ) 文字化け
-
HTTPヘッダはメタタグにも記述...
-
batファイルでうまく動かないプ...
-
文字集合範囲外の文字とパーセ...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
PHP8を使うと、大量のWarningが...
-
別ファイルの変数を呼び出した...
おすすめ情報