• ベストアンサー

Google検索結果で文字化け

サイトトップ部分で、FLASHを使い外部テキストを読みこませ、表示させています。 ローカル・サーバー、何れも画面上は正常表示されるのですが、 Google検索結果だと、大量に文字化けされ、表示されます。 検索結果に、文字化けしないようにするにはどうすればいいでしょうか? ・ページPHP UTF-8 ・外部テキストSHIFT-JIS ・パブリッシュ設定 FLASH PLAYER 8 ・ACTION SCRIPT 1.0 this.loadVariables("ほげほげ.txt"); 試しに外部テキストをUTF-8で保存しなおしてみたら、 今度は、画面上で文字化けするようになりました。 Google検索結果だけ文字化けするって、FLASHで起こる現象なのでしょうか?

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.3

#2です >>外部テキストのテキストファイルが文字化けするのでしょう? > Shift_JISの外部テキストファイルを置いておくと文字化けするということでしょうか? 通常そのようなことはありませんよ。 Google で 例えば 「Flash filetype:txt」と検索して↓, http://www.google.co.jp/search?source=hp&q=Flash+filetype%3Atxt Shift_JIS のページ(テキストファイル) を見てみても文字化けしていません。 >>「Googleの検索結果のサマリーが文字化け」 > ページ自体は、Shift_JISではなく、utf-8指定しています。 よくわかりませんが, その次のページなども続きますよ。 http://www.shtml.jp/mojibake/question.html http://www.shtml.jp/mojibake/google_hankaku.html >>それはおそらく ActionScript で >>System.useCodepage = true; >>などという指定をしているからでしょう。 >指定していません。元々、this.loadVariables("ほげほげ.txt"); >と書いてました。 ??? それでは Shift_JIS の方が文字化けするはずですよ。 Shift_JIS が文字化けしないのでしたら System.useCodepage = true; をどこかにかいてあるはずです。 どこかは知りません。どこかにです。 または, Flash Player 8 用の SWF をパブリッシュしたのではなくて, Flash Player 5用 のSWF をパブリッシュしたかです。

re999
質問者

補足

>その次のページなども続きますよ。 ​>http://www.shtml.jp/mojibake/question.html​ ​>http://www.shtml.jp/mojibake/google_hankaku.html 補足ありがとうございます。見落としていました(笑)。 内容は今回のケースとは直接関係なさそうですが、ただ検索結果が文字化けするのは、文字コードによる影響と書かれていることをみると、 私の場合は、「ページ」と「外部テキスト」で文字コードが異なるところが、問題だと思うようになりました。 >Shift_JIS が文字化けしないのでしたら >System.useCodepage = true; >をどこかにかいてあるはずです。 >どこかは知りません。どこかにです。 必死に探したら、別の箇所に記載されていました。 アドバイスありがとうございます! 大変助かりました! この件につきましては、↑アドバイスによって、UTF-8で外部テキストを読み込めるようになったので、これで、しばらく様子見したいと思います。 色々ありがとうございましたッ!

その他の回答 (3)

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.4

さて、先ほど回答した#1ですが、かなり重要な事を書き忘れてました。 それは、Googleの検索結果はHTMLに貼られたSWFなんか読み込まないから、SWFを貼った貼ってないは直接検索結果(サマリー)が文字化けすることに関係ないハズってこと。 SWFを読み込んでいない事を確認するには、外部テキストを読み込まない、文字など書かれていないSWFに変更してみれば確認できると思います。 たぶん変化しません。 本当にSWFを貼る前は文字化けしていなくて、SWFを貼ったら文字化け、削除すると直るという事であれば、SWFのタグ関連でコメントで半角カナ等の一般に推奨されない文字を使っている等、SWFを貼った事とは別の原因ではないかと考えられます。 あとは、本文が後ろに追いやられる事で、前からNバイト読み込んで文字コード判定、などに影響する可能性はあるかなと。 PHPを使っているので、メタタグでの文字コードの指定だけではなく、Headerでの文字コードの指定がShift-JISなんてことはないですかね? Headerでは指定してないとか。 基本どんなSWFを貼ってもそれが原因で文字化けするなど考えられないというスタンスなので、貴殿の求める答とは違うかも知れませんが。

re999
質問者

補足

>SWFを貼った貼ってないは直接検索結果(サマリー)が文字化けすることに関係ないハズ 補足ありがとうございます。 あれから色々自分でも調べてみた結果、とりあえず、下記内容で様子見することにしました。 ■現状 ・ページUTF-8 ・外部テキストShift-JIS ■今後 ・ページUTF-8 ・外部テキストUTF-8 なお、外部テキストUTF-8にしたら、画面上文字化けする、と書き込みしてた件は、アドバイスのおかげで解決しました。 テキストを読み込む箇所とは違うところに「System.useCodepage = true;」と記載されていたのを、見落としていました。この部分を適切に処理したところ、無事、UTF-8でも読み込みできるようになりました。

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

文章からではよくわかりませんが, 外部テキストのテキストファイルが文字化けするのでしょう? それでしたらFlashは関係ないと思いますが。。。 外部テキストをGoogleが直接クロールしたのでしょうから。  ↓この辺が関係するのでは?↓ 「Googleの検索結果のサマリーが文字化け」 http://www.shtml.jp/mojibake/google.html ===上記とは全く別問題======= > 試しに外部テキストをUTF-8で保存しなおしてみたら、 > 今度は、画面上で文字化けするようになりました。 それはおそらく ActionScript で System.useCodepage = true; などという指定をしているからでしょう。 「Flash - ActionScript System.useCodepage」 http://webtech.akijapan.com/flash/actionscript/usecodepage/ デフォルトでは UTF-8 ですから何も書かなければ文字化けしないと思います。

re999
質問者

補足

>外部テキストのテキストファイルが文字化けするのでしょう? Shift_JISの外部テキストファイルを置いておくと文字化けするということでしょうか? >「Googleの検索結果のサマリーが文字化け」 ページ自体は、Shift_JISではなく、utf-8指定しています。 >それはおそらく ActionScript で >System.useCodepage = true; >などという指定をしているからでしょう。 指定していません。元々、this.loadVariables("ほげほげ.txt"); と書いてました。 http://flash.dojin.com/ssplanning/flash/flash_howto_text.html を参考に、 this.loadVariables("ほげほげ.txt",_root); としてみましたが、utf-8で保存した外部テキストをflashで読み込もうとすると、文字化けします。

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

もしかしてフルフラッシュで、HTML等に埋め込む形ではなく、SWFを直接表示するようなPHPを書いているんですかね? もしそうなら、拡張子がPHPなのでPHPで処理された結果=HTML形式のテキストファイルが返ってくる前提で、GoogleがSWF=バイナリファイルを開いてる。 結果、当然文字化けしている、と言うのがありそうですが。 もしくは、PHPで出力する際にHTML内に文字コード <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />等を出力していないなどはあり得ますかね? もし出力していないのであれば、文字コードを解釈しそこなって文字化けしているという事はあり得ます。 最後に、以前は文字化けしても当然というような内容を書いていたとかは? Shift-JISなのにUTF-8を指定していたなど。 もしそうなら、キャッシュとして以前の文字化けの結果が残っている可能性はあります。 その場合、次のGoogleロボットのクロールまで直らないかも知れません。

re999
質問者

補足

>もしかしてフルフラッシュで、HTML等に埋め込む形ではなく、SWFを直接表示するようなPHPを書いているんですかね? いや、HTML等に埋め込む形の、フツーのPHPです。SWFを直接表示するようなPHPではありません。 >もしくは、PHPで出力する際にHTML内に文字コード ><meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />等を出力していないなどはあり得ますかね? 文字コードは指定しています。 >最後に、以前は文字化けしても当然というような内容を書いていたとかは? >Shift-JISなのにUTF-8を指定していたなど。 ここがよく分からないのですが、ページ自体は、UTF-8なのに、外部テキストは、Shift-JISで作成しています。これがマズいのでしょうか?  もしマズいとすると、ページ自体は、UTF-8で作成したいので、外部テキストをUTF-8にするしかないのですが、どう直せばよいでしょうか? 現状で、外部テキストをUTF-8で保存し、読み込ませようとすると、画面上で文字化けしていまいます。

関連するQ&A

専門家に質問してみよう