シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Takuya Kawatani の投稿
返信数: 6

はじめまして。川谷と申します。
こちらのフォーラムや図書を参考にしながらmoodle1.6と1.7を以下の環境で試用していますが、行き詰ってしまいました。

 Fedora Core 5
 Apache 2.2.2
 MySQL 5.0.27
 PHP 5.1.6

コースにリソースを追加するときに、「ファイル・ウェブサイトにリンク」を選択し、シフトJISで作成したhtmlをデータフォルダにアップロードして表示させようとすると、ブラウザのエンコード自動選択によりUTF-8と認識され、正しく表示されません。エンコードを手動で修正すると正しく表示されます。表示先は同一ウインドウでも新しいウインドウでも同じ結果になります。

同じhtmlをデータフォルダでなくwebページとしてアップロードし、http://~でリンクすると正しく表示されます。

作成したhtmlの先頭から4行は以下のとおりです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML lang="ja">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

なお、同じmoodleとデータをWindows XP SP2に XAMPP version 1.6.1(Apache 2.2.4  MySQL 5.0.37  PHP 5.2.1)をインストールした環境に移すと、データフォルダにアップロードしたファイルにリンクしても問題なく表示されます。

php.iniの設定が関係しているのかと考え、試行錯誤を繰り返しましたが解決できません。
moodleとは直接関係無いかもしれませんが、アドバイスをいただけると助かります。

Takuya Kawatani への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Minoru Akiyama の投稿
秋山@eラーニングサービスです。

http.confのAddDefaultCharacterset をshift_jisにすればOKではないでしょうか?
Minoru Akiyama への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Haruhiko Okumura の投稿
httpd.confのAddDefaultCharsetは何も設定せずコメントアウトするのが正解です。
Haruhiko Okumura への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Takuya Kawatani の投稿

秋山様、奥村様、早々にご返信くださりありがとうございました。

httpd.confは #AddDefaultCharset UTF-8 とコメントアウトしていました。

AddDefaultCharset shift_jis も試してみましたが、結果は同じでした。

どちらの場合もUTF-8と認識されて文字化けしてしまいます。

Takuya Kawatani への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Hiroki Inoue の投稿
井上と申します。

AddDefaultCharset none

としてみるといかがでしょうか。

こちらの環境ではうまく切り替わりましたが。
Hiroki Inoue への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Takuya Kawatani の投稿

井上様、ご返信ありがとうございました。
AddDefaultCharset none でも改善されませんでした。

リソースのリンクを右クリックして、「対象をファイルに保存」を選択すると、view.htmというファイルがローカルディスクに保存されます。

同じsjis.htmlというファイルをデータフォルダとwebページにアップロードして、それぞれへのリンクをリソースとして追加し、それぞれのview.htmをローカルに保存して比較してみると、以下のような違いがありました。

データフォルダ:<frame src="http://********/moodle/file.php/12/sjis.html" />
webページ:<frame src="http://********/sjis.html" />

やはりphpの設定のような気がします。
php.iniはいろいろいじってしまったので、インストールからやり直してデフォルトのiniとして比較してみようと思っています。
別のハードディスクを用意しなくては…悲しい

Takuya Kawatani への返信

Re: シフトJISで作成したhtmlをデータフォルダに登録し表示させたい

- Takuya Kawatani の投稿

解決しました。

php.ini の default_charset をコメントアウトすることで正常に表示されるようになりました。

初期設定でコメントアウトされていたものを、設定が必要と思い込んで設定していました。

どうもお騒がせいたしましたm(_ _)m