解決済みの
こちらのトピックにおいて、ブラウザが EUC-JP でページを開こうとしない問題がありましたが、解決案はサーバー側に手を加えるものでした(php.iniを修正して解決した)。でもそれだとユーザーフレンドリーじゃないな・・と思ったので、そうしなくてもすむようにphpBB2のファイルに手を加えてみました。
以下が私なりの修正案です。(もっと適切な修正方法あるかもしれません
#
#-----[ OPEN ]------------------------------------------
#
install/install.php
#
#-----[ FIND ]------------------------------------------
#
else if (!empty($HTTP_POST_VARS['send_file']) && $HTTP_POST_VARS['send_file'] == 2)
#
#-----[ REPLACE WITH ]------------------------------
#
header('Content-Type:text/html; charset=' . $lang['ENCODING']);
if (!empty($HTTP_POST_VARS['send_file']) && $HTTP_POST_VARS['send_file'] == 2)
#
#-----[ OPEN ]--------------------------------------
#
includes/page_header.php
#
#-----[ FIND ]------------------------------------------
#
header ('Expires: 0');
header ('Pragma: no-cache');
#
#-----[ AFTER, ADD ]------------------------------------
#
header('Content-Type:text/html; charset=' . $lang['ENCODING']);
#
#-----[ OPEN ]------------------------------------------
#
admin/page_header_admin.php
#
#-----[ FIND ]------------------------------------------
#
header ('Expires: 0');
header ('Pragma: no-cache');
#
#-----[ AFTER, ADD ]-----------------------------------
#
header('Content-Type:text/html; charset=' . $lang['ENCODING']);
|
こうすることによって、php.ini の default_charset がどう設定されていようとページのヘッダ情報は常に EUC-JP を維持すると思います。その結果、ブラウザはページを開くときに EUC-JP 以外の文字コードで開こうとはしないはずです。WindowsXP上で IE と Firefox の動作確認はしました。多分他のブラウザでも大丈夫だと思います。
php.ini の default_charset はどのホスティングサーバーも none か EUC-JP になってるような気がするんで、ほとんどの方にとってはあんまり重要じゃないかもしれません・・。意味があるとすれば自分でサーバー立ち上げて色々設定したりする方なのかな?。まぁでも、いかなる状況でもphpBB2が動くというのは1つの理想でもあると思うんで、一応報告した次第です。