サーバの仕様?について


下記内容のhtmlファイルを設置すると文字化けします。
原因と解決方法を教えてください。

ファイルの保存は UTF-8 で行っています。

よろしくお願いします。

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>テスト</title>
</head>
<body>
テスト
</body>
</html>

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2009/08/07 14:15:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント23pt

問題のHTMLコンテンツをBOM付UTF-8ファイルにしていませんか?


状況がよく分からないので、以下の点を確認してください。

  1. どんなOSのどんなエディタでHTMLコンテンツを作成したのですか?
  2. 質問文では DOCTYPE 宣言などがダブルクォーテーションの途中で改行していますが、これは「はてな」の仕様上の問題で、実際には改行していませんよね?
  3. XML宣言を入れたらどうなりますか?
  4. charset で utf-8 と小文字にしたらどうなりますか?
  5. 問題のサーバはマルチバイト文字に対応しているのですか?
id:worldtravel

1. Mac OS X の Macromedia Dreamweaver で作成しました。

2. 「はい」改行は入っていません。

3. 入れても同様に化けます。

4. 試しませんでした。

5. 調べませんでした。すいません。

そのサーバは色々と事情があり、もう当分何らかのファイルを置くことすらできません。

次の機会が来るまでは.....

ただ、今後このような事態になったときは、

教えて頂いたことを確認するようにしてみます。

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

2009/08/01 19:54:59
id:nao_iwashima No.2

回答回数15ベストアンサー獲得回数4

ポイント23pt

1行目にXML宣言を入れ、そこでも文字コードをUTF-8と明示してみたらどうでしょうか?

id:worldtravel

はい、同様に文字化けは直りませんでした。

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

2009/08/01 19:55:30
id:amalfi-0219 No.3

回答回数40ベストアンサー獲得回数5

ポイント22pt

UTF-8で保存されてるということですが、ひょっとして

BOM付きUTF-8でファイルを保存されているのではないでしょうか?

私も以前ハマったことがありますw


↓BOM付きUTF-8だと文字化けする

http://sakaguch.com/utf1.html


BOM無しUTF-8で保存する方法はいろいろあるのですが、

Windowsで開発されている場合はサクラエディタなどの

フリーのエディタを使えば可能です。

逆にWindows標準のエディタでUTF-8のファイルを編集すると

BOMが付いたりするようですので注意が必要かと思います。

id:worldtravel

DreamweaverもエディターもBOMは入らないように初期設定を行っております。

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

2009/08/01 19:56:53
id:yofukaci No.4

回答回数306ベストアンサー獲得回数10

ポイント22pt

実際にサーバーから返ってくるヘッダー情報を見てください。

UTF-8以外のコードが指定されてる可能性が高いです。

metaでの指定より、ヘッダーの方が優先されるのでUTF-8になってません。

WEBサーバー(Apache)の設定個所で、文字コードがあるはずです。

id:worldtravel

ありがとうございます。

次の機会にはこちらを試してみようと思います。

header("Content-Type: text/html;charset=UTF-8");

2009/08/02 23:37:15
  • id:b-wind
    どこのサーバーでどんな設定が出来るのかわからないので答えようが無いんですが。

    xhtml ファイルのようなので、先頭に XML 宣言はあったほうが良いとは思いますが。
  • id:worldtravel
    あっ すいません。
    それも書いてあります。が化けます。

    ちなみに下記のようにsjisだと化けません。

    <!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />
    <title>無題ドキュメント</title>
    </head>
    <body>
    テスト
    </body>
    </html>

    どうしても UTF-8 のファイルを置きたいのですがどうにか方法は無いでしょうか?

    急いでいます。
    よろしくお願いします。
  • id:worldtravel
    ファイルの文字自体は化けていないのにブラウザで表示すると化けます。
    サーバの設定だと思うのですが、解決方法は無いでしょうか。

    ちなみに ディレクトリ /hoge/ にUTF-8のファイルを設置したいのですが、
    その中にはsjisのファイルもあり、それはそれで使いたいのです。

    すいません。
    よろしくお願いします。
  • id:Reiaru
    (サーバーに転送する前に) UTF-8 でローカル PC に保存する際、BOM の有無は確認しています?
  • id:worldtravel
    ありがとうございます。
    BOMは付加しないようにしています。
  • id:worldtravel
    どうしても急いでおり、諦めて応急処置でsjisにしました。

    でも何れ必要かと思うので何かありましたら教えてください。
  • id:b-wind
    急いでいるならそのサーバーの情報ぐらい出して欲しい物だが。

    http://www.shtml.jp/mojibake/meta.html
  • id:standard_one
    httpd.confというかAddDefaultCharsetがどうなってるかくらいは教えてもらわないとねぇ
  • id:Reiaru
    worldtravel 2009-07-31 14:49:51
    pahoo 2009-07-31 14:35:07

    pahoo 様の回答にはちょっとした時間差で気が付かなかったのかもしれませんが、回答オープンして下さい(^-^;
  • id:worldtravel
    サーバの情報を出さずに申し訳ありませんでした。

    http://www.shtml.jp/mojibake/meta.html
    拝見してみました。

    phpで生成しているページも一部文字化けしていたので
    次の機会にはこちらを試してみようと思います。
    header("Content-Type: text/html;charset=EUC-JP");


    皆様ありがとうございました。
  • id:worldtravel
    そういえば.....

    phpで吐き出すページは
    header("Content-Type: text/html;charset=UTF-8");
    とすれば良いかも知れませんが、

    htmlファイルの場合はどうすればよいのでしょうか?

    サーバの設定を変更するか、htmlファイル自体をsjisにしなければならないのでしょうか。

    よろしくお願いします。

  • id:pahoo
    > htmlファイルの場合はどうすればよいのでしょうか?

    普通は meta タグで指定した charset にしたがいます。
    しかし、そのサイトがマルチバイト文字に対応していなかったり、広告を入れるなどの理由から任意の meta タグを指定できないと、ご質問のような状況になってしまいます。

    いずれにしても、何らかの事情でサーバ情報を開示していただけないようですし、当該サーバのファイル更新もできないとのことなので、これ以上の有用なコメントは出来そうにありません。
  • id:worldtravel
    ありがとうございました。

    今後はサーバの情報をまず調べるようにします。

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

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

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

回答リクエストを送信したユーザーはいません