1188908345 【文字化け】サイトにXoopsを試しインストールしましたがphpは全くわかりません。3ヶ月は普通に動いたのですが、レンタルサーバーロリポップの障害およびメンテ以降、言語設定が変わったようで、どの画面遷移においても、初期設定が北欧言語あたりになっているようです。Xoops内での動作自体に異常はありません。いちいちブラウザの表示設定を直せば日本語で見られますが、訪問者に迷惑をかけています。全部消してインストールしなおすか、MT4に乗り換える以外のよい方法があれば教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/09/04 21:19:08
  • 終了:2007/09/05 20:36:36

ベストアンサー

id:Yota No.3

Yota回答回数453ベストアンサー獲得回数282007/09/05 17:14:12

ポイント50pt

AddDefaultCharset On ならためしに何かファイルを作ってアップロードしても、全部ISO-8859-1で返してくるので確認できます。

でたらめを書いた.htaccessを置いてみて、Internal Server Errorが返ってこないか見てみてください。

.htaccessがhttpd.confのなかで有効化されていなければ、素通りして普通に表示されます。

http://httpd.apache.org/docs/2.0/ja/mod/core.html#adddefaultchar...

id:NAPORIN

ええと、ロリポのユーザー用FTPで作業しております。ロリポで.htaccessを使用してセキュリティを高めるため.htaccessに何か書き込んだものを作成アップロードしてくれるフォームがあり、それを使用して.htaccessを作って、そこにロリポFTPで上記のワードを書き加えたのですが、アンダーバーをハイフンにまちがえようがなにしようがInter・・・(いわゆる500)はでず、文字化けしたトップページがリロードされてきました(ただし、サーバーの返答は普段より少々遅かったです)。きちんとぐちゃぐちゃにするとちゃんと500がでました。

結局.htaccessは一応効いているが、addcharsetだけが効いてない(httpd.confで指定がなされている)のでしょうか。つまり、他のシステムに乗り換えたほうがいいのかもしれませんね。

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

2007/09/05 20:33:10

その他の回答(2件)

id:KUROX No.1

KUROX回答回数3542ベストアンサー獲得回数1402007/09/04 22:17:41

ポイント50pt

themesのフォルダ下に何種類かフォルダがありますが

使っているテーマのフォルダの下に

theme.html

と言うファイルがあります

3行目あたりを以下のように無理やり変えてみてはどうでしょ

うか?

Shift_JISは例なので、妥当な文字コードを指定してください。

■変更前

<meta http-equiv="content-type" content="text/html; charset=<{$xoops_charset}>" />

■変更後

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

文字が化ける理由が良く分からないので。

$xoops_charsetの中の変数が間違ってるのかも。

http://q.hatena.ne.jp/answer

id:NAPORIN

Shift-JISとあとEUCに変えてそれぞれリロードしてみましたが一字一句変わらず化けています(汗)

このとき、トップページのソースを見ると、metaタグはちゃんとshift-jisなりEUCの指定になっていますが、変数で生成のキャラセットがenです(管理者ログインして一般設定はしているハズなのに)ので一つ下の行も手打ちでjpにしたのですがこれでもダメ。

ちなみに各ブロック部分のソース表示しても本文は化け化けで、テキストエディタの文字コード指定再読込を使用していろいろ変えても化けています。どうもレンタルサーバー側のバックアップ→復帰時にソースも文字化けしたような印象をうけますが、これはテキストエディタの指定が合っていないから文字化けして見えるだけのことなのでしょうか?しかしブラウザからエンコードを(リロードや遷移のたびごとに)自動選択にすると読めるのです。

2007/09/05 09:52:31
id:Yota No.2

Yota回答回数453ベストアンサー獲得回数282007/09/05 12:01:34

ポイント50pt

WEBサーバがiso-8859-1で送出するようになっているのではないですか。

.htacceeが使えるなら、該当ディレクトリに下記内容で置いてみてください。

AddDefaultCharset shift_jis

http://dummy.com/

id:NAPORIN

これはよいヒントをいただきました。

実際やってみたのですが、ダメでした。

http://lolipop.jp/?mode=manual&state=hp&state2=htaccess

http://www.shtml.jp/htaccess/

http://jp.xoops.org/modules/newbb/viewtopic.php?topic_id=120&...

http://lists.debian.or.jp/debian-users/200205/msg00419.html

という一連のつながりを見ると、やはりレンタルサーバーではhttpd.confでAddDefaultCharset onとなっているものがあり、それを個人ではoffに戻せないため限界がある、

という文脈によめます。

特に3番目のリンクでは個別指定が薦められていますが、1番回答のコメントのとおり失敗です。

あきらめた方がいいのでしょうか。

2007/09/05 20:31:18
id:Yota No.3

Yota回答回数453ベストアンサー獲得回数282007/09/05 17:14:12ここでベストアンサー

ポイント50pt

AddDefaultCharset On ならためしに何かファイルを作ってアップロードしても、全部ISO-8859-1で返してくるので確認できます。

でたらめを書いた.htaccessを置いてみて、Internal Server Errorが返ってこないか見てみてください。

.htaccessがhttpd.confのなかで有効化されていなければ、素通りして普通に表示されます。

http://httpd.apache.org/docs/2.0/ja/mod/core.html#adddefaultchar...

id:NAPORIN

ええと、ロリポのユーザー用FTPで作業しております。ロリポで.htaccessを使用してセキュリティを高めるため.htaccessに何か書き込んだものを作成アップロードしてくれるフォームがあり、それを使用して.htaccessを作って、そこにロリポFTPで上記のワードを書き加えたのですが、アンダーバーをハイフンにまちがえようがなにしようがInter・・・(いわゆる500)はでず、文字化けしたトップページがリロードされてきました(ただし、サーバーの返答は普段より少々遅かったです)。きちんとぐちゃぐちゃにするとちゃんと500がでました。

結局.htaccessは一応効いているが、addcharsetだけが効いてない(httpd.confで指定がなされている)のでしょうか。つまり、他のシステムに乗り換えたほうがいいのかもしれませんね。

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

2007/09/05 20:33:10
  • id:Bookmarker
    そのサイトの URL を示した方が、原因がわかり易いと思います。
  • id:Mook
    いくつか確認したいのですが、

    ブラウザからソースを表示したときの先頭の4行(<meta>の部分まで)はどうなっていますか。
    空白も含めて提示していただけると何かわかるかもしれません

    それから、管理メニュー⇒一般設定⇒一般設定
    の使用言語の設定はどうなっていますか。
  • id:NAPORIN
    >Mook様
    まず管理メニューの一般メニューの一般設定の使用言語はJapaneseです。
    トップページのソース
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<{$xoops_langcode}>" lang="<{$xoops_langcode}>">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=<{$xoops_charset}>" />
    <meta http-equiv="content-language" content="<{$xoops_langcode}>" />

    ですが下2行は1番回答のコメントにあるとおり少々改変しました。

    >Bookmarkerさま

    それはできないお約束でどうぞひとつ。
  • id:Bookmarker
    HTTP ヘッダーで誤った charset を送信しているのでは?
    (文字コードは、HTTP ヘッダーでの指定が最優先されます。)

    Firefox + Live HTTP Headers 等で、HTTP ヘッダーを確認してみてください。

    Live HTTP Headers:
    https://addons.mozilla.org/ja/firefox/addon/3829

    # 今回のような文字化けは lang 属性は関係ないはず
  • id:NAPORIN
    >Bookmarker様
    サーバーが返している(つもりの)文字セットの種類を確定すべきということでしょうか?
    これは確実にあきらめがつくという以外、あまり意味がないかも。Xoops内では文字セット入りのヘッダを自動生成していますから、その可能性はありますが、あくまでもレンタルサーバーですので、.htaccess以上の小細工(文字セットといえども)はできなさそうです。とはいえ、あきらめるためにも一回試そうかなとも思います。少々お待ちを。
  • id:NAPORIN
    ごめんなさい。ちょっと私には荷が重かったです>最新火狐にアドオン入れる暇なし
  • id:Yota
    http://httpd.apache.org/docs/2.0/ja/mod/core.html#allowoverride
    もしそのディレクトリがAllowOverride Noneなら、.htaccessなどを置いても相手にされません。
    レンタルサーバとしては変な感じですね。


  • id:Mook
    遅くなりましたが、一応御自身で結論は出たということでしょうか。

    お聞きしたかったのは、サーバ上のソースではなく、表示されたWebページのソースで、そちらで lang="jp" や content="ja"、charset=EUC-JP などに展開されているかを確認したかったのですが、直接記述してもダメだったということは、関係なかったかもしれません。

    お役に立てずにすみませんでした。


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません