Webサーバ文字化け

こんにちは。


当方 Mac mini late2012、OS 10.8.4、サーバ 2.2.1、にて

Webサーバを設定しております。


問題の文字化けはSafari上、LANの内外からアクセスして発生しており、

�Ƃ́u���v�ɂ����Ă����」

こんな文字列に変換されてしまいます。


サーバ機能は「Webサイト」、「ファイル共有」、「Open Directory」のみ有効にしており、

Webサーバの設定は「新規webサイト」(下の「+」ボタン)から新規に設定し、

至ってシンプルにしたつもりでした。

サイトデータの場所は User/home/Sites/ とし「ユーザ/グループ」で観覧制限を設けています。


問題の文字化けするサイトのデータは、

このサーバより以前に運用していたMac mini 2008、Server 10.5、から移行してきました。

もちろん以前は文字化けの問題など起りませんでした。


なにとぞお助けくださいますよう

お願い致します。

Mac mini, OS X Server

投稿日 2013/07/03 19:46

返信
返信: 9

2013/07/03 20:49 xy への返信

xyさん


早速の書き込みありがとうございます。


このサイトデータはクライアントからの要望上、

シフトJISで指定して作っております。

以前のサーバでは問題なく表示されたことから、

ブラウザの問題という可能性は低いかなと思いました。


知識が浅いので恐縮ですが感覚的には

サーバ側の文字コードに対する処理(対処?)に問題があるように思われます。

2013/07/04 01:36 やすどん への返信

解決しました。

とは言え、かなり力技で根本的な理由や解決策ではないので

ちょっと気持ちが悪いですが。。。


miアプリで「.htaccess」ファイルを作り、


AddType "text/html; charset=Shift_JIS" html


作ったファイルをサイトデータのrootに置けば完了です。

なお「.htaccess」ファイルは不可視ファイルになるので注意が必要です。


xyさん、やすどんさん

書き込みありがとうございました。

2013/07/04 01:47 Candy1997 への返信

> miアプリで「.htaccess」ファイルを作り


.htaccess で直るということは、apache の設定に不備があるのでは?

apache の設定ファイル(/etc/apache2/httpd.conf)の default 文字コードは utf-8 です。これ変更してないなら、 shift_jis では文字化けします。

今時なら、utf-8 で書く方が、利用出来る文字種ははるかに多いですし、問題がなくていいのですが。

2013/07/04 02:10 Candy1997 への返信

まぁそれでもいいのでしょうけど。。。。。

いまどき宣言なしのデフォルトがShift-JISで送り出すhttpサーバなんてありえないですね。


httpd.conf から、>users.conf>.htaccess ときて *.html


と、、charsetをたどっていく、というのは覚えておくほうがよいですね。


私なら、、*.htmlの中のヘッダに1行、

<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8">

shift-jisなら

<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift-JIS">


を必ず入れときますけど。(っていうか、いまどき入ってないほうが珍しい?)


ではでは。

2013/07/04 02:39 はに への返信

はにさん


書き込みありがとうございます。

Apacheの設定に関しては当方も疑っておりましたが、

なにぶんこの辺りは知識に乏しく苦慮しております。


ご存知でしたお聞きしたいのですが

OS X ServerのApache設定をいじる場合、

はにさんがおっしゃったように(/etc/apache2/httpd.conf)を設定するのでしょうか?

と言うのもある書籍にはOS X ServerのApache設定は(/Library/Server/web/Config/apache2/)の中にある「httpd_server_app.cof」を設定すると書いてありました。

この時点でちょっと混乱しております。

2013/07/04 08:05 Candy1997 への返信

> OS X ServerのApache設定をいじる場合


Server アプリは触ったことないので分かりません。

でも、/etc/apache2 が全く無関係とも思えないのですが。実際に書いてみれば良いのでは。

default character set の設定は、apache2 の説明によると、

AddDefaultCharSet shift_jis

でよいと思います。これを /etc/apache2/extra/httpd-languages.conf にでも書いておけば良いと思います。

(これに書いておけば、httpd.conf に読み込まれるようになってます)

設定ファイルを変更した後は、httpd を再起動してください。でないと変更が反映しません。

2013/07/04 23:37 はに への返信

はにさん


お返事ありがとうございました。

はにさんの助言通り「AddDefaultCharSet shift_jis」を

/etc/apache2/extra/httpd-languages.conf に書き足して見ましたが文字化けは改善されませんでした。

そこでServer アプリの/Library/Server/web/Config/apache2/の中にある「httpd_server_app.cof」にも

同じ書き込みをしてみました(ここには「httpd-languages.conf 」のようなファイルがなかったので直に書き込みました)。

結果はこちらも文字化けは改善されませんでした。

とは言え、おそらくApacheの何かしらの問題かなと。。。

OS X Serverが一般的なwebサーバと比べると若干特殊なようで、

もうすこし調べる必要があるようです。


あとちょっと別件になりますが、

「ユーザ/グループ」で認証を設けたウェブサイトにiOSのsafariでアクセスしようとすると、データのダウンロードが極端に遅い、もしくはアクセスできない現象が発生しました。

こちらも応急処置ではありますが.htaccessで回避しました。


なかなか一筋縄ではいかないものです。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Webサーバ文字化け

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。