safariで文字化けする問題について

このQ&Aのポイント
  • Macの10.2.8でホームページ作りをしていますが、safariで文字化けする問題が発生しています。
  • 作成したページはFirefoxやWindowsのエクスプローラでは正常に表示されるが、safariでは文字化けします。
  • 表示設定を変更しても他のページに移動すると再び文字化けし、非常に面倒です。10.4以降のsafariに対応する方法はあるでしょうか?
回答を見る
  • ベストアンサー

自分のサイトがsafariで文字化けします

こんにちは。Macの10.2.8で、Adobe GoLiveCSを使ってホームページ作りをしている者です。 作ったページが、自分のブラウザ(Firefox,Netscape)やWindowsのエクスプローラでは正常に表示されるのですが、safariでのみ文字化けしてしまうようで困っています。 私はsafariを使わないのですが、10.4以降のMacを使っている知人たちは皆safariなので、私のページが表示できないみたいなのです。試してみたところ、「表示」→「テキストエンコーディング」→「日本語Jis」で文字化けが直るのですが、そうすると他のページに飛んだ時にまた文字化けし、元の表示設定に戻さなければならず、非常に面倒です。 特に書体や書式を変なふうにはしていないのですが、10.4以降のsafariに対応させることは不可能なのでしょうか? もしわかる方がいらっしゃいましたら、お願いいたします。 ※わがままですみませんが、できれば「ソフトやブラウザを変えてください」「本体を買い換えてください」というような回答以外でお願いします。 私も相手もそれができない状況で困っているので^^;

  • Mac
  • 回答数7
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
  • nori_007
  • ベストアンサー率35% (369/1048)
回答No.6

#No 1 で解答した者です。 DOCTYPE宣言が関係あるので有れば、下記のページを参考にしてみてください。 http://www.d3.dion.ne.jp/~tiyoko01/sitoku/doctype.html ちなみに ><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitiolink.html p.htmllang="ja"> はあり得ないと思います。 また、lang 属性も関連有りそうですので、下記のページも参考になると思います。 http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/struct/dirlang.html http://msugai.fc2web.com/web/tips/html.html lang 属性の指定が間違っている場合、文字コード以前の問題になると思います。 後は、Another HTML-lint gateway で辻褄が合っているか確認する事をお勧めします。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html Another HTML-lint gateway で80点以上取れれば、文字化けも直るのではないでしょうか。

moegi77
質問者

お礼

迅速な回答・アドバイスありがとうございます。 紹介いただいたサイトで採点してみたところ、Index以外のページのDOCUTYPEタグ・lang属性指定なら問題ないようでしたので、とりあえずその形式に統一しようと思います。 確か、最初にGoLiveで新規サイトを立ち上げると「Index」というページが最初からついているのですが、私の場合それを途中で誤って消してしまい、あらためて同じ名前のページを作り、それをIndexページとして使っていました。 そのことで何か不具合があり、今回挙げたp.htmllang="ja">のようなタグが出てきてしまったのか・・・と推測しますが、どういった経緯でこうなったのかは未だによくわかりません。 また、GoLiveで作ったページのソースを見ると、<body>がなくて最後に</body>だけがあったりと、不安な点がいくつかあるのですが、今までsafari以外のブラウザで文字化けしたことはありませんでした。 まだよくわからないことが多いので、ご紹介いただいたページなどを参考に調べてみたいと思います。 ありがとうございました。

その他の回答 (6)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.7

> お礼のところに書いた通り、私のサイトはシフトJis指定、レンタル会社さんから借りたBBSはeuc-jp指定になっています。 > 私のサイトを利用する知人たちはサイトとBBSの両方を円滑に見たいわけですが、safariではやはり難しいでしょうか。 Safari 3以降で、これも改善されているはずですが…… どのレンタルBBSかわからないので、たしかなことはいえませんが、古くから運営しているところだと、METAタグで文字エンコードを指定していない可能性が高いでしょう。Safari 2以前ですと、ページ移動のときに、METAタグでの指定がないと、文字エンコードの推測作業をしない傾向があるようです。 そのBBSのソースを、見てみて、METAタグに文字エンコードを指定しているか、確認してみましょう。 最後に、GoLiveは、AdobeがMacromediaと合併して、Dreamweaverを手に入れた時点で、開発をメンテナンスモードにして、フェイドアウトすることが決まっているソフトウェアです。じっさいに使われているウェブブラウザの状況に合わせるという、きめ細かな対処は、すでに望むべくもないのでしょう。

moegi77
質問者

お礼

さらなる回答・解説をくださりありがとうございます。 BBSはOTDさんのところで借りたもので、ライブドアさんと合併する前から使用していました。METAタグでの指定はeuc-jpです。 今のところ、METAタグの部分ではなくDOCUTYPEタグとlang指定に問題があったと推測し、今日一日かけてそこを直してみました。 それでもまた文字化けが起こってしまうようなら、違う可能性を考えなければなりませんが・・・ GoLiveで作り続けることは難しくなりそうなのですね。 初めてサイトを持った時からずっと愛用しているソフトなので寂しいですが、それも流れなので仕方ないと思います。 いろいろと詳しい回答を下さった皆様、ありがとうございました。 おかげさまで、文字化けの原因や経緯が少しわかってきました。 また、タグのことも皆様に教えていただけて助かりました。 今回の質問はここで終了させていただきますが、 またわからないことが出てきた際、書き込ませていただくこともあるかと思います。 その時はまた、お力を貸していただけたらと思います。 ありがとうございました。

  • nori_007
  • ベストアンサー率35% (369/1048)
回答No.5

#No 1 で解答した者です。 まず初めに、Mac OS X 10.2 位まで利用されていた、初期の safari では良く文字化けの問題がありました。Mac OS X 10.4 以降の safari では殆ど文字化けはありません。 現在 meta の指定で文字コードが、charset=Shift_JIS との事ですが、GoLiveCS が生成しているファイルの文字コードが、Shift_JIS になっているか確認してください。GoLiveCS 自身で確認出来ないようで有れば、エディターの Jedit 等で確認することが出来ます。ご確認ください。 ちなみに、meta で宣言している文字コードと、実際のファイルの文字コードが違っているの有れば、safari で無くとも文字化けを起こす可能性は高いです。 制作者として、守らなければならないのは、meta で宣言している文字コードと、ファイルの文字コードは完全に一致させることです。

moegi77
質問者

お礼

詳しいご説明をありがとうございます。 新しいsafariでも文字化けするとすれば、やはり私の作り方のほうに問題がありそうですね・・・。 ご指摘いただいた、生成ファイルでの文字コードの件ですが、GoLiveCSで任意のファイルを開き、ツールバーの「ファイル」から「ドキュメントエンコーディング」を選んで見るとデフォルトで「シフトJis」に設定されていました。 「編集」で「エンコーディングの変更」という項目があったので選んでみましたが、やはりデフォルトで「シフトJis」になっていました。 また、同ファイルをTextEditに放り込んでみたところ、safariで見た時と同じように文字化けしました。 TextEditで文字コードを確かめる方法がわからないのですが、これはやはり、ファイルの文字コードがシフトJisになっていないということでしょうか? どうしたらファイルの文字コードをJisにできるのか、またそれを確認できるのか、よくわかっていないもので、以上の点までしか今のところ調べられていないのですが・・・

moegi77
質問者

補足

すみません、新しいことがわかったので、この回答のお礼の後になってしまいましたが、補足を付けさせていただきます。 この回答のお礼は下に書かせていただきました。ありがとうございます。 私のサイトは、Indexページとそれ以外のページで「DOCUTYPE」のタグが違っていました。GoLiveで普通に作っていたらそうなっていたようなのですが、具体的には、 Indexページ: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitiolink.html p.htmllang="ja"> それ以外のページ: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> ひょっとして、Indexページのタグが文字化けの原因なのではないかと思い、それ以外のページのタグと同じにしてみたところ、画面が真っ白になってしまい、編集できなくなりました。 そこで、ページタイトルをIndex以外にし、別名保存をしてみたところ、画面も元に戻り、タグも他のページと同じになりました。 さらにそれをTextEditに放り込んでみたところ、文字化けしませんでした。 今回の件と関係がありそうな気がするのですが・・・(毎度中途半端ですみません)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.4

ちょっと実験をしてみました。Jedit(テキストエディタ、Mac OS X付属の「テキストエディット」でもおなじ結果になるでしょう)で、HTML書類を作成し、METAタグでShift-JISを指定し、書類のエンコードはEUC-JPにして保存します。 これをSafri 3(Win、Mac)、Firefox 3(Windows)、Internet Explorer 7(もちろんWindows)で開いてみます。 Safariでは文字化けし、それ以外では文字化けしないと思われたのに、あにはからんや、結果はまったく逆でした。 Internet ExplorerとFirefoxの前身Netscape Navigatorは、METAタグで文字エンコードを指定する規則が制定される前からあるウェブブラウザで、この規則の前まで、エンコードは、テキスト全体から推測するようになっていました。とうぜんエンコードの誤認識が起きるので、ウェブコンテンツ制作側は、あの手この手で誤認識を防ごうとしました。一例として、Shift-JISに使われない文字コードで、EUCでは使われるコードがあります。ページには表示されないHEADタグの中で、そのコードの文字を打ち込むことで、ウェブブラウザに意図したエンコードを推測させるというものがあります。 Firefox、Internet Explorerは、METAタグより推測を優先し、Safariはその逆と思っていたのですが、実験の結果はまったく反対でした。 結論:Safari 3にバージョンアップすれば、文字化けの悩みは解決するでしょう。ただし、Mac OS X 10.4以降にバージョンアップする必要があります。

moegi77
質問者

お礼

詳しいご回答、そして検証までしていただいてありがとうございます。 ウェブブラウザによってそのような違いがあるのですね。 私のサイトはMETAタグ指定がShift Jisなのですが、BBSの部分はレンタル会社さんから拝借しているため、指定が違い、euc-jpになっています。 BBSのほうは通常safariでも見られるようなので、サイトのほうもeuc-jpに変更しようかと考えていたのですが、検証いただいた結果によると、METAタグだけでsafariの文字化けに対処するのは難しいようですね。 また、METAタグを変えた場合、書類のエンコードもあわせて変えなければだめなのですよね?(本当に無知ですみません) まだ変えたことがないのでやり方などがよくわからないのですが、上記検証を拝見する限り、safariは「METAタグと書類エンコードがズレた状態で正常に閲覧できている」ようなので、そこに照準を合わせてしまうと他のブラウザで見られなくなってしまいますよね・・・。 safari3ではそのような不便が解消されているのでしょうか。 そのバージョンがすぐに使えるかどうかわかりませんが、考慮してみます。 アドバイスいただき、ありがとうございます。とても助かりました。

moegi77
質問者

補足

この回答への補足というよりも自分の質問の補足になってしまいますが、この場を借りることお許し下さい。 この回答へのお礼は下に書かせていただきました。ありがとうございます。 お礼のところに書いた通り、私のサイトはシフトJis指定、レンタル会社さんから借りたBBSはeuc-jp指定になっています。 私のサイトを利用する知人たちはサイトとBBSの両方を円滑に見たいわけですが、safariではやはり難しいでしょうか。 今のところ、閲覧するには以下の手順を踏んでいるようです。 safariの環境設定はデフォルトエンコーディングがShift Jisになっています。 1・safariで私のサイトを開くと文字化けしている 2・「テキストエンコーディング」で「Shift Jis」を選ぶ 3・文字化けが直る 4・BBSに飛ぶと今度はそこが文字化けしている 5・再び「テキストエンコーディング」で「デフォルト」に戻す 6・BBSからサイトへ戻ると、今度は文字化けしていない 実際に私も操作してみましたが、6がどうにも謎です・・・。 また、2も謎です。 デフォルト=シフトJis設定なのに、わざわざ選び直さなければ文字化けが直らないというのがとても不条理に思えます。 その後ブラウザを閉じ、もう一度私のサイトを表示してみたところ、今度は文字化けしていませんでした。 ただ、再起動後などは試していないのでわかりません。 どうなっているのかまったくわからないのですが、やはりsafariのバージョンの問題なのでしょうか・・・。 他のサイトは文字化けしないようなのですが、METAタグを見ても私のところと違いがなく、ほとんどのサイトさんではシフトJisを使っています。 そうすると他に、私の作り方のほうに問題があるのではという気がしてくるのですが・・・。 以下、参考までに自分のサイトのMETAタグ部分です。 <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <meta name="generator" content="Adobe GoLive 6"> GoLiveで作っているので下行のタグが付いてしまうのですが、これも原因なのでしょうか・・・?

noname#214300
noname#214300
回答No.3

わざわざお礼を頂きありがとうございます。 一通りネットで情報を集めてみましたが、Safariの仕様(?)らしく、完治は難しい様です。 HTMLの文字コードをシフトJISではなく、EUC-JPやUTF-8に変えてみるという方法は取れないでしょうか。これは、METAタグの宣言を書き換えるのと同時に、GoLive側でも同じ文字コードで出力しなければなりません。 または消極的な方法になるのですが、ご友人の環境で文字化けしないサイトをいくつか教えて貰い、それと同じ<HEAD>セクションに変えて試してみる方法もあるかと思います。 有名なサイトなどは、色々と隠し技を使っていますので、参考になるかと思います。 しっかりとした回答をご呈示出来ず、大変申し訳ありません。

moegi77
質問者

お礼

ご丁寧に説明いただきありがとうございます。 とても助かります。 私もsafariに関するサイトをいくつか見てみたのですが、文字化けの問題は昔からつきまとっているようで、今回の件も、これが万全という策は難しそうですね。 今たまたま見たサイトでは、safariの環境設定を変更してシフトJISにしてしまうのが良いと書かれていました。 確かにシフトJISで設定されているサイトは多いと思うのですが、知人たちのブラウザではその中でも私のサイトだけが文字化けするとのことで、そのあたりも少し引っかかります・・・。 EUC-JPやUTF-8はまだ試していないので、アドバイスを参考に、文字化けしないサイトのHEADセクションを見てみて、いくつか試してみようかと思います。 ありがとうございました。

noname#214300
noname#214300
回答No.2

HTMLは<HEAD>のところで文字コードの宣言を行います。 <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> 上の文では、このHTMLはシフトJISで書かれてますよ、とブラウザに教えているわけです。 この宣言と実際にGoLiveが吐き出している文字コードが違う場合、ブラウザによっては表示がおかしくなります。 ご質問によれば、実際の文字コードはシフトJISで書き出しているようですので、作成されているHTMLの<HEAD>部分を確かめてみて下さい。 たぶん、他のコード(UTF-8だの)が宣言されているのだと思います。 もしもそういった宣言がない場合、上記の<META>~をそのまま<HEAD>にコピーしてみて下さい。 なお、ツールが吐き出すHTMLが必ずしも”正しいHTML”であるとは限りませんので、もしもゆとりがあるようでしたら、HTMLの検証サイトなどを利用して、公開されているHTMLが文法的に正しいかどうかチェックされる事をお勧めいたします。

moegi77
質問者

お礼

詳しい回答をありがとうございます。 <HEAD>のその部分を見るのですね。非常に助かります。 自分のHTMLを確かめたところ、ご紹介いただいた <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> と全く同じ一文になっていました。 つまりShift_JISで宣言しているようなのですが、 そうすると問題は他にあるということでしょうか? safariのブラウザは、デフォルトの文字エンコーディングが欧米になっていることが多いと聞きますが、ひょっとしてそちらに合わせたほうがいいのでしょうか?

  • nori_007
  • ベストアンサー率35% (369/1048)
回答No.1

文字コードの指定はどうなっていますか?

moegi77
質問者

お礼

ありがとうございます。Shift_JISになっているようなのですが・・・どう操作したらいいものやら・・・。初心者ですみません^^;

関連するQ&A

  • safari文字化け

    safariが文字化けすることがあります。 大概なんの問題もないのですが、 まれに文字化けするページがありまして、 問い合わせしたところ、 「safariで文字化けなんて聞いたことないです。 おそらく文字のエンコーディングが間違ってるのでしょう」 とのことでした。 どのように設定すればいいのでしょうか? ちなみに今はデフォルトで日本語shift JISです。 どなたか教えてください。よろしくお願いします。

    • 締切済み
    • Mac
  • 文字化け

     英語が混じった日本語のページを、ドメイン名が.jpで終わらない海外のサイトに置いたのですが、Safari, Netscape, IEのどのブラウザを使っても文字化けしてしまい、強制的にシフトJISにしてやらないと、思ったように表示されません。何が悪いのでしょうか。そのページの先頭には、以下のように書き込んでいますが、何か問題があるのでしょうか? <html> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS">

    • ベストアンサー
    • HTML
  • safariで時々文字化けがします

    safari(1.0.3)を使用しているのですが、特定のページを閲覧したら文字化けが生じるので、その度にテキストエンコーディングを利用しています。 この症状を治す方法がればご教示願います。

    • ベストアンサー
    • Mac
  • safariとfirefoxで英語が文字化け

    システムのバージョン: Mac OS X 10.4.11 現在使用しているブラウザ(safariとfirefox)で英語が文字化けします。 例えば.htmlが.frkjと表記されています。 日本語は問題なく表示されるので、他のトピックを参照しても解答が得られませんでしたのでこちらで質問させて頂きます。 動作がおかしくなる前に行った事は、複数で使用する為にアカウントを新規作成したくらいです。現在はアカウントを削除しました。 その後、ブラウザの文字エンコーディングを変更しましたが改善されません。 全ブラウザで文字化けするため、システムの設定が変更されているような気がしますが、それ以上の事は分からず困っております。 ご存知の方がおられましたら、ご回答宜しくお願いいたします。

    • 締切済み
    • Mac
  • Safariで文字化け

    過去にも似たような質問がありましたが、Safariの文字化けについてです。 「環境設定」の「表示」が「日本語(ShiftJIS)」になっているにもかかわらず、たびたび文字化けします。 多くは「デフォルト」のままで大丈夫なのですが、ときには同じサイト内でも別のページにジャンプした途端、文字化けします。 その都度、「表示」から、いくつかある日本語表示形式を試すのは、ストレスです。 IEの場合、文字化けはまず起こりません。 それでも、Macユーザーの多くは、Safariをお使いのようなのが、文字化けに困りませんか? 何か解決法があるのですか? また、多少の不便をしても使用するのなら、IEにないメリットがあるのでしょうか? いっそのこと、IEをメインに使おうかとも考え中です。 その場合、メール本文中のURLをクリックして起動するブラウザソフトを変更するには、どうすればよいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Mac
  • MacブラウザのSafariで文字化けします。

    あるサイトからフリーのPHPスクリプトをダウンロードして サーバーにアップロードしたのですが、 Mac標準のブラウザSafariで閲覧すると文字化けしてしまいます。 http://www.hp-toolbox.com/sample.html Windows版のIE、Firefox、Netscapeではいずれも正常に表示されます。 http://www.hp-toolbox.com/blink.php 当該スクリプトは以下よりダウンロードできます。 http://www.hp-toolbox.com/WebTrigger.lzh 文字化けを回避できないでしょうか?教えて下さい。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 突然の文字化け

    POWER BOOK G4 1.5Ghz OSは10.4.3です。 FirefoxとThunderbirdを使用。 数日前から突然の文字化けに悩んでます。 ブラウザ全体が文字化けするわけではなく、たとえば この質問内容を書き入れるようなメッセージボックス(というのでしょうか?)に文字入力しようとすると 文字化けした文字しか入力できないのです。 半角のカタカナまたはスペースの羅列になります。(スペース部分が多い) また、Thunderbirdでは、本文が全く読めません。 文字エンコーディングをいじっても、まるで読めないのです。 ちなみにタイトルは文字化けしていません。 また、safariを使うとこういう症状は出ません。 この症状を治すにはどうすればいいのでしょうか。 宜しくお願いいたします。

    • ベストアンサー
    • Mac
  • 特定のホームページで文字化け

    皆様お世話になります。ホームページ閲覧時の文字化けについて質問です。 Safari4.0.4を使用しています。特定のホームページ閲覧時に文字化けがします。テキストエンコーディングはデフォルト設定。環境設定でデフォルトをShift JISにしています。文字化けしたホームページで、一度、テキストエンコーディングをShift JISにすると正常に見えます。その後、デホルトに戻しても正常に表示します。質問は、デフォルトで設定したShift JISでは正常に表示しないのに、テキストエンコーディングでShift JISに変更した場合は見えるのはなぜ?、という点と一度正常に見れたホームページはデフォルト設定でもなぜ見えるか、です。よろしくお願いします。

    • 締切済み
    • Mac
  • Safari内の文字など文字化けで見れない

    Safari4.0をインストールして、ページを見ようとしたら、タイトルはしっかりと表示されているのですが、中身は文字化けして全く入れない状態になっています。 どうすれば文字化けを解消できるのでしょうか?

  • Safari の文字化けをサイト作成側で回避。

    PowerMac G4 800 Dual 10.2.6。 GoLive for Mac 6.0.1。 日本語サイトで Safari のデフォルト表示だと文字化けするものとしないものとがありますよね。 自分の作成した日本語サイトが Safari のデフォルトで文字化けします。Safari 1.0 にするまでは化けなかったのですが、1.0 にしたら化けるようになりました。「日本語(Shift JIS)」にすれば解消されますが(そしてその旨をトップページに画像にした文字で閲覧者に知らせてはいますが)、始めからデフォルトでも文字化けしないように作成するにはどうしたらよいのでしょうか。 GoLive のサポートにも聞いたのですが、ページの記述自体に特に問題はないので、Safari の側の対応をまつしかないだろう、とのことでした。 しかし、こういったことは、最終的には作成者側で責任を持つべき問題だ、というようなことをどこかで読んだ記憶がありますし、訪問早々立ち去られる可能性も高まるので、なんとかしたいと思っています。 どうぞよろしくお願いします。 因みに、IE 5.2.3 や 5.1.6 等では文字化けしません。

    • 締切済み
    • Mac