opera、javascript、EUC-JPでエラー

このQ&Aのポイント
  • operaのみでページ内にgoogle検索のフォームを組み込んだページが正常に動作しない問題が発生しています。
  • IE、safari、firefoxでは問題なく動作するが、operaでのみ発生するため、原因を特定する必要があります。
  • EUC-JPのままでも正常に動作させる方法を探していますが、UTF-8に変えることで解決することは確認できています。
回答を見る
  • ベストアンサー

opera、javascript、EUC-JPでエラー

ページ内に google検索のフォームを組み込み、そのフォームを別のリンクから間接的にsubmitするページを作りました。関連する他のページがEUC-JPなので、このページもEUC-JPで作りました。 しかし、IE,safari,firefoxでは問題なく動くのですが、opera(9.5)のみうまく動きません。UTF-8に変えればoperaでも正常に動くのを確認しましたが、EUC-JPのままで正常に動かす方法はないでしょうか。 実際は、独立したページではなく、ほかのページとおなじ部品を共用したりしているのでEUC-JPのままで動かしたいのです。 よろしく、お願いいたします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "​http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">​ <html> <head> <meta http-equiv="content-type" content="text/html; charset=EUC-JP" /> <script type="text/javascript"> <!-- function GoogleSearch(search_key){ document.google_search.sbi.value = search_key; document.google_search.sitesearch[1].checked = true; document.google_search.submit(); document.google_search.sitesearch[0].checked = true; } // --> </script> </head> <body> <form name="google_search" method="get" action="​http://www.google.co.jp/custom"​ target="google_window">   途中省略 </form> <br /> インターネットを<a href='javascript:GoogleSearch("検索語")'>検索語</a>で検索 </body></html> operaでは検索語によって状況が変わります。 ・英語の場合はOK ・スペースを含まない日本語の場合は、google searchの 呼び出しはされるが、引き渡される検索語が化けてNG   例えば検索語が "日本語" だと 「�ユ��� に一致する情報は見つかりませんでした。」となります。 ・スペースを含む日本語だと、google searchの呼び出し以前に、 「Syntax error while loading: line 1 of unknown script : Expected statement GoogleSearch("�ユ��� 罎�膣�)」とエラーコンソールに出てしまいます。

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

  • ベストアンサー
noname#220216
noname#220216
回答No.1

FORMタグのAccept-charset属性に"EUC-JP"を指定してやると どうでしょうか? <form name="google_search" method="get" action="http://www.google.co.jp/custom" target="google_window" Accept-charset="EUC-JP"> また参考URLも 文字コードの対応を考慮した方法が 書かれているので参考になると思います。

参考URL:
http://search.web-sun.com/zatu/charset.html
fire--
質問者

お礼

コメントありがとうございました。 早速、試してみたのですが、残念ながら状況は変わりませんでした。 考えたら手元のzaurusとPHSにもoperaが入っているので、これらで試したところ問題ありませんでした。そこでPCのoperaも9.50をアンインストールして、だいぶ古いバージョンですが、8.54を入れたところ問題ありませんでした。一方、最新の9.51は駄目でした。 どうもoperaのバグらしいので、問い合わせてみることにします。 問い合わせの状況を確認する間、この質問はオープンしておくことにします。 良いサイトの紹介いただき、ありがとうございます。

fire--
質問者

補足

すばやくoperaから回答が来ました。 >Bug 報告ありがとうございます。 >Opera Software 東京オフィス、バグ受付担当でございます。 >本件は弊社でも認識し開発にて対策中でございます。 だそうです。

関連するQ&A

  • XHTMLの文字コードのEUC-JPの文字化け

    いつもはHTML4.01で作業をしていて XHTMLはどうも不慣れなせいか 今、外注が作成したHPを修正していて 文字コードをEUC-JPにどうしても変更しなければならないのですが それがうまくいかず、文字化けが発生してます。 <!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="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> を <?xml version="1.0" encoding="euc-jp"?> <!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="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> このように設定したら文字化けが発生しました。 どのように設定したら文字化けがなくなりますか?

  • EUC-JPのキーワード

    HPを EUC-JPで作っています。それでメモ帳で開いても日本語が文字化けしてみれないのですが これはロボット型のサーチエンジンでは文字化けしているので無効なのですか?

    • ベストアンサー
    • HTML
  • EUC-JPのページを海外から見ると?

    PHPで、ほとんどアルファベットで、少し日本語も混ざりるような外国人向けのページを作成したいと考えています。 現在、EUC-JPで作成しようと考えていますが、この場合、海外のPCから見た場合、ページ中の日本語はどのように表示されるのでしょう? 1)海外のPCではEUC-JPは見ることができない 2)文字化けするけど、ブラウザでEUC-JPにすればOK。 3)(ブラウザでエンコード変える必要なく)正しく表示される。 以上よろしくお願いします。

    • 締切済み
    • PHP
  • googleをeuc-jpでエンコードするとうまくいかない

    googleの検索ボックスのソースファイルを抜き出して、 HTMLに記述して使いたいのですが、うまくいきません。因みに、エンコードは、euc-jpにしています。 他のファイルとの整合性があるので、 s-jisにすることができません。 なんとか、euc-jpのエンコード状態で、googleを使う 方法は無いでしょうか? ご存知の方教えてください。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • Operaの公式ページをgoogleで検索するには?

    google検索にてOperaの公式日本語ページ http://www.opera.com/ をサーチ結果に表示させるにはどうしたらよいでしょうか。 opera ブラウザ ダウンロード など検索語句をいろいろ試しましたがgoogleではなかなかたどり着けません。 googleが検索できないように細工しているのでしょうか? Yahoo検索では何とか表示されますが、 それでも検索順位は4番目とかです。 公式サイトよりWikipwdiaの記事が上ってどういうことなんでしょうか。 opera側が検索エンジンの最適化をやる気がないだけなのでしょうか。

  • EUCで書かれたソースを見るには?

    あるホームページは下記のように記述されております。 このホームページをマウス右クリック「ソースの表示」で開くと、メモ帳が自動的に起動し、日本語の部分が文字化けします。 (OSはWinXP,メモ帳はOffice2002) どうすれば文字化けしないようにできるのか教えてください。 --------------------------- <?xml version="1.0" encoding="EUC-JP"?><!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="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <meta http-equiv="content-language" content="ja" /> <meta name="robots" content="index,follow" /> <meta name="keywords" content="ツ醯ツサヤ,セ羌イ,セ网ャ、、,セ羌イシヤ,セ羌キシヤ,IT,サルア・・ウ・゜・螂ヒ・ニ・」,テマー霎霾・ソタニ狢鋕ゥ" /> ----以下略----

  • euc-jpのページをIE7で表示したら真っ白に表示される

    PHPでHTMLを吐き出すeuc-jpのページをIE7で表示したら真っ白になってしまう ページがあるのですが、エンコードを日本語選択にしたり画面を更新(F5) したりすれば通常表示されることから、 IE7 で画面が真っ白になるページの対処方法 http://www.drk7.jp/MT/archives/001163.html と同じ症例ではないかと断定したのですが、↑などを参考に 下記のようにしてみましたが、改善ありません。その他、特効薬はありますか。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML LANG="ja"> <HEAD> <!-- 雀の往来京 --> <meta name="content-language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript">

    • ベストアンサー
    • HTML
  • EUC-jpのページでmailto本文を読めるようにしたい

    EUC-jpでホームページを作成しております。 このページ内にmailtoリンクを使った アンケートフォームを置くことになりました。 訪問者がページ上の「こちら」をクリックすると 予め本文にアンケートの質問が書き込まれた メール作成画面が表示されるというものです。 下記のようにしてみたのですが、 ある程度の長さまで書くと、メール作成画面が表示されなくなるのです。 これは書き方が悪いのでしょうか? それともこの方法は文字数の制限などがあるのでしょうか? もちろんあまり好ましいやり方ではないのは承知なのですが、 どなたかお教え頂けたら幸いです。 何卒宜しくお願い申し上げます。 なお、私が使っているのは WindowsXP IE6.0 です。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-jp"> <title>アンケート</title> </head> <body> <script language="Javascript"> <!-- var Mac = navigator.userAgent.indexOf("Mac") != -1 ? true : false; document.write("<a href=\"mailto:test@xxx.xx.jp?subject=%83A%83%93%83P%81%5B%83g&body="); if(Mac){ document.write("%0D%0D"); } else { document.write("%0D%0A%0D%0A"); } document.write("%96%E2%82P"); //問1 if(Mac){ document.write("%0D"); } else { document.write("%0D%0A"); } document.write("%96%E2%82Q"); //問2 if(Mac){ document.write("%0D"); } else { document.write("%0D%0A"); } document.write("\">こちら</a>"); //--> </script> <noscript> <a href=\"mailto:test@xxx.xx.jp?subject=%83A%83%93%83P%81%5B%83g">こちら</a> </noscript> </body> </html>

  • w3cの検証エラー?

    サーバーにアップしてあるサイトからw3cのチェックすると下記のようなエラーが出ます。 Sorry! This document can not be checked. Result: Failed validation Address: http://www.hogehoge.com/ Encoding: euc-jp Doctype: Sorry, I am unable to validate this document because on line 179 it contained one or more bytes that I cannot interpret as euc-jp (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication. The error was: euc-jp "\x83" does not map to Unicode 何が原因なのか全くわかりませんがどのようにしたら検証することができるようになるのでしょうか? Nucleus v3.3でサイトを作ったのでそれが原因かと思い他のNucleusで作られたサイトを見てみましたがエラーになっていませんでした。 html側には <!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="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> ~省略~ としています。 firefoxのhtmlをチェックする機能?ではエラーもなく判定されます。

  • firefox+xhtml+javascript

    お世話になっております。 divをweb上でドラッグできるスクリプトを組みました。 Opera9.6,IE6では動いているのですが、Firefoxでは、ある条件下でしか動きません。 ある条件とは、DOCTYPEの宣言がされていないことで、XHTMLにしようとDOCTYPEを宣言すると、動作しなくなってしまいます。 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='ja'> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <meta http-equiv='Content-Script-Type' content='text/javascript' /> <title>test</title> <script type='text/javascript' src='FILENAME.js'></script> -------- <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'> を消せば動きます。 仮に、DOCTYPEをHTML4.1などにしても動きません。 クオートをシングルからダブルにしても同じです。 動かない状態でも、JS自体は読んで、onload関数の中は見に行っているようです(alertを埋め込んだらでたので) 可能性として、 外部ファイルのJSの書き方に問題があるのでしょうか? それとも、HTML側に問題があるのでしょうか? ソースを見なくても何か考えられることがあれば、教えてください。 よろしくお願いします。