いつもお世話になっております。
CMSDを入れたサーバーがApache2.2に変更された後、
IE6で、ログイン画面が文字化けして、ログインできなくなりました。
サイト全体はUTF-8で作成し、CMSD利用ページのみeuc-jpに変更後
CMSDページ作成、そのままの文字コード出力(euc-jp)の状態では全て正常でした。
↓
webサーバー変更(Apache2.2ベースにアップ)
↓
CMSD利用ページで文字化け、レイアウトくずれ。
site.config.xmlに<output encoding="UTF-8" />を追加したら
書き出されたページは正常になりましたが、
IE6で文字化け、ログインできなくなりました。
(Firefoxでも文字化けしてますが、ログイン、編集、保存等に問題はありませんが、
IEの使用者が多いので、IE6で編集したいのです。)
xslt-libno 設定および disable-xslt-encoding設定も試してみましたが、だめでした。
サーバー管理者の方が以前のバージョンに戻す方向で検討して頂いてますが、
今の状態で他に解決方法はありませんでしょうか?
私自身は、サーバーの知識がない為、的はずれな事を書いているかもしれません。
よろしくお願いします。
ログイン画面の文字化け、ログイン不可
Re: ログイン画面の文字化け、ログイン不可
shimashimaさん、ご連絡ありがとうございます。
これはひょっとすると、Apacheの設定で、phpページのHTTPヘッダの
charset情報を強制的に「UTF-8」として送り返している為に起こっている現象
かもしれません。
これはApache2.2にしたからというより、バージョンアップした際に設定が
変わったというだけの可能性があります。
IE6では、サーバが送り出すHTTPヘッダのcharsetと、metaタグ上のcharset
が矛盾を起こす場合、HTTPヘッダの方が優先されます。
日本でのphpは基本的にまだEUC-JPが規定の文字コードとして多い為、もし
サーバ側でHTTPヘッダのcharsetを返すのであれば、UTF-8よりEUC-JPにして
おいた方が安全かと思います。
サーバ管理者さんに言って、この設定を変えてもらうか、.htaccessをルート
フォルダに置いて、中に、
AddType "text/html; charset=EUC-JP" php
のように書くと良いかもしれません。
もちろんその場合、phpファイルの文字コード出力はEUC-JPに戻す必要があります。
この問題、考えてみると結構様々な場面で遭遇する気がしました…。
もう少し対応を考えて見たいと思います。
これはひょっとすると、Apacheの設定で、phpページのHTTPヘッダの
charset情報を強制的に「UTF-8」として送り返している為に起こっている現象
かもしれません。
これはApache2.2にしたからというより、バージョンアップした際に設定が
変わったというだけの可能性があります。
IE6では、サーバが送り出すHTTPヘッダのcharsetと、metaタグ上のcharset
が矛盾を起こす場合、HTTPヘッダの方が優先されます。
日本でのphpは基本的にまだEUC-JPが規定の文字コードとして多い為、もし
サーバ側でHTTPヘッダのcharsetを返すのであれば、UTF-8よりEUC-JPにして
おいた方が安全かと思います。
サーバ管理者さんに言って、この設定を変えてもらうか、.htaccessをルート
フォルダに置いて、中に、
AddType "text/html; charset=EUC-JP" php
のように書くと良いかもしれません。
もちろんその場合、phpファイルの文字コード出力はEUC-JPに戻す必要があります。
この問題、考えてみると結構様々な場面で遭遇する気がしました…。
もう少し対応を考えて見たいと思います。
-
- 記事: 3
- 登録日時: 2007年3月08日(木) 17:22
Re: ログイン画面の文字化け、ログイン不可
webmasterさま ご返答ありがとうございます。
いろいろと試してみましたが、うまくいきませんでした。
(IE6でブラウザの文字コードを変更するとログインできましたが)
今回は、サーバーのOSをバージョンアップしてあるので、
バージョンを戻して対応するよりも、
ファイルをEUC-JPに変更して統一することなりました。
メンテナンス的にもEUCで統一されている方が、いいですよね。
(Dreamweaverのネストしたテンプレートに「属性を変更可能にする」を
設定したら、レイアウトが崩れてしまったので、切り離して使っていました。)
ありがとうございました。今後ともよろしくお願いします。
いろいろと試してみましたが、うまくいきませんでした。
(IE6でブラウザの文字コードを変更するとログインできましたが)
今回は、サーバーのOSをバージョンアップしてあるので、
バージョンを戻して対応するよりも、
ファイルをEUC-JPに変更して統一することなりました。
メンテナンス的にもEUCで統一されている方が、いいですよね。
(Dreamweaverのネストしたテンプレートに「属性を変更可能にする」を
設定したら、レイアウトが崩れてしまったので、切り離して使っていました。)
ありがとうございました。今後ともよろしくお願いします。