JavaScriptで文字化けする問題の修正方法

このQ&Aのポイント
  • JavaScriptで別のサイトの掲示板を表示する際に文字化けが発生してしまう問題があります。
  • 文字化けの原因は、文字エンコーディングの設定にあります。
  • HTML5で作成されたサイトでは、文字エンコーディングをutf-8に設定することが一般的です。
回答を見る
  • ベストアンサー

JavaScriptで表示した文字の文字化け

よその掲示板を自分のサイトで部分的に表示するJavaScriptなのですが、文字化けしてしまいます。 <script language="JavaScript" src="http://×××.js"></script> というタグで、利用するJavaScriptはその掲示板のサイトで作成してアップロードされているものです。 私のサイトのHTMLは、今回HTML5で作ってみました。 文字のエンコーディングはこんな感じにしています。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> 文字化けを修正する方法のご指導よろしくお願いします。

noname#142899
noname#142899

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5067/13240)
回答No.1

scriptタグに charset="××" を指定して相手サイトの文字コードを指定しましょう。

noname#142899
質問者

お礼

ありがとうございます。

noname#142899
質問者

補足

相手サイトは <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> としていたので、 <script src="http://×××.js" charset=Shift_JIS"></script> とやってみましたが効果なしでした・・・。

関連するQ&A

  • 文字表示の設定方法について

    このサイトの文字化けについての質問です。 http://www.hempkitchen.jp/ 左メニューに、twitterヴィジェットが表示されていたのですが、先日から表示がされなくなり 原因をリサーチしていた時に <meta http-equiv="Content-Type" content="text/html; charset=shift_jis">を <meta http-equiv="Content-Type" content="text/html; charset=utf-8">に変更したら、 twitterヴィジェットは表示されたのですが、 jsで管理しているメニューが文字化けしてしまいました。 下記3つのjsファイルで管理しているメニューです。 <script language="JavaScript" src="hempkitchen.js"></script> <script language="JavaScript" src="js/footer1.js"></script> <script language="JavaScript" src="footer2.js"></script> 一応、cssファイルもチェックしました(@charset "shift_jis";)となっていたので。 こちらのファイルを@charset "utf-8";に変更してみましたが、文字化けしたままでした。 いろいろ調べてみたのですが、困っています。 ご回答、よろしくお願いします。

  • javascriptのalertで文字化けが解消されません。(外部js

    javascriptのalertで文字化けが解消されません。(外部jsファイル読込による) htmlファイル <meta http-equiv="Content-Script-Type" content="text/javascript"> <script language="JavaScript" src="**/**.js" charset="shift_jis"></script> いろいろ調べまして、charset="shift_jis"を指定したり、utf-8にしましたがうまくいきません。 jsファイル function testalert() { alert('テスト'); } ご教授をよろしくお願いします。

  • HTMLファイルのインクルードで文字化けしてしまう

    下記のサイトを参考にHTMLファイルのインクルードを試したところ、 インクルードされた側のHTMLで文字化けしてしまいます。 http://tani.dank-hearts.com/2008/03/javascripthtml.html ↓の文字コード指定を記述してもダメでした。。。 <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <script type="text/javascript" src="js/ajaxcodedisplay-or.js" charset="shift_jis"></script> 原因がわかる方いらっしゃいましたら、 ご教授お願いいたします。

    • ベストアンサー
    • HTML
  • 外部ファイルJS参照を全て消さないと「文字が正しくありません」エラー

    実に不思議なのですが、 以下のように4つのJSファイルをインクルードしているHTMLファイルを ローカルで開くと「文字が正しくありません」とスクリプトエラーが何回かでます。 ですが、script1~4.js の行を全てコメントアウトすると、エラーはでません。 1~4のどれかにエラーが含まれているのかと、一つ一つを外してみましたが、 どの行を外しても、やはり「文字が正しくありません」と出てしまいます。 ローカルの然るべきパスに1~4はあります。また、HTML同様、JSもEUCになってます。 何が原因なのでしょうか? <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>タイトル</title> <meta http-equiv="content-type" content="text/html; charset=euc-jp"> <meta http-equiv="content-script-type" content="text/javascript"> <meta http-equiv="content-style-type" content="text/css"> <link href="../css/style.css" rel="stylesheet"> <script src="../js/script1.js" type="text/javascript"></script> <script src="../js/script2.js" type="text/javascript"></script> <script src="../js/script3.js" type="text/javascript"></script> <script src="../js/script4.js" type="text/javascript"></script> </head>

  • 文字化けが直りません。

    どうしてもUTF-8を指定すると文字化けしてしまいます。ご指導お願いします。 検索して調べたのですがわかりませんでした。 ブラウザーの設定等も必要なのでしょうか? ちなみにshift_jisにすれば文字化けしません。 以下ヘッダー部分です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>TOPページ</title> </head> 以上、よろしくお願いします。

    • ベストアンサー
    • 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側に問題があるのでしょうか? ソースを見なくても何か考えられることがあれば、教えてください。 よろしくお願いします。

  • コードの文字化けに困っています。(Dreamweaver MX 2004)

    はじめまして。 ドリームウィーバーを使用していて、一つのhtmlファイルのみコードが文字化けをしてしまうので、アドバイスをお願いいたします。 ●htmlファイルは計5つあって、ヘッダーとフッターはそれぞれincludeで一括しています。 ※ヘッダーに文字コードのタグ(EUC-JP)は入っています。 ●5つのhtmlファイルのうち、「info.html」のみドリームウィーバーで開くとコードの文字化けがおこります。 ※他の4つのファイルはドリームウィーバーで正常に開きます。 ==コード===================== ●header.html● <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "(URL略)"> <HTML lang="ja"> <HEAD> <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"> <LINK rel="stylesheet" type="text/css" href="../○○.css"> <META name="keywords" content="キーワード"> <META name="description" content="文章"> <title>タイトル</title> <SCRIPT type="text/javascript" src="○○.js"/></SCRIPT> </head> <body> 以下略 ●info.html● <!--#include file="header.html" --> <script type="text/javascript" language="javascript"> var node = document.getElementById("info"); node.parentNode.setAttribute("id","selected"); </script> <div id="main">  <div class="body">   <h2>お知らせ</h2>   <div class="info">    <画像>    <画像>    <p>文章やリンク</p>   </div>  </div> </div> <!--#include file="footer.html" --> ●フッターはコピーライトの文章と</body>やら</html>やらだけです。● ========================== <<やってみた事>> ○ファイルの大きさを1kb未満から、文字を増やして3kb以上に変えてみました。 ┗そのまま開くと同様文字化けがおきました。 ○include(ヘッダーフッターの一括)以外を消して「お知らせ」の文字だけ残して保存してみました。 ┗文字化けしました。(「お知らせ」→「ェテホ、鬢サ」) ○文字化けするファイル(info.html)のファイル名を変えて保存してみました。 ┗文字化けしました。(「お知らせ」→「(カタカナではない物に文字化けしました)」) ○文字化けしないファイルを「info.html」と名前をつけて保存してみました。 ┗文字化けしないので、ファイルの中身をinclude(ヘッダーフッターの一括)とdivタグだけ残して「お知らせ」と書き保存してみました。  ┗文字化けしました。(「お知らせ」→「、ェ、キ、鬢サ」) ==コード===================== <!--#include file="header.html" -->  <div id="main">   <div class="body">    、ェ、キ、鬢サ   </div>  </div> <!--#include file="footer.html" --> ========================== ○「お知らせ」という文字がダメなのか?!と思い、 上記のコードをエンコードしたのち「あいうえお」と打ってみましたが やはり文字化けしてしまいます。 開く度、「修正」→「ページプロパティ」→「タイトル/エンコーディング」→「エンコーディング(E):日本語(EUC)」でリロードボタンを押してから、文字などを修正し、保存しています。 ※リロードをすると文字化けがなおりますが、閉じて開くと文字化けになっています。 インターネットで検索したり、友人に聞いたりしてみましたが、 対策がみつからなかったので、半分あきらめて毎回リロードをしているのですが、 やっぱり少し気になる&もしなおればいいなと思い、 初めてOKwaveに登録して質問をしてみました。 よろしくお願いいたします。

  • UTF-8のサイトがWillcomのみで文字化け

    携帯をメインターゲットにしたサイトを作っていますが、Willcomのみで文字化けが発生します。 色々調べると、WillcomはShift_JISにしか対応していないとか、いや、UTF-8にも対応しているとか、メールに関しての記述はあるのですが、Webサイトに関しては文字化けしています。 ちなみに、ヘッダーは以下のように記述しています。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=utf8"> <title>*****</title> </head> また、メールに関しては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 lang="ja" dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> これは、私が使っているブログテンプレートのソースの最初の部分です。 このテンプレートに、 <script type="text/javascript" src="http://mcnv.net/bp/js/hitomojibp.js#tag_id=3270" charset="UTF-8"></script> のブログパーツって使えますか? プラグインにソースを貼ってみたんですけど表示されません。 原因は何なのでしょうか。 原因がわからないので、文字エンコーディングがおかしいのかな? と思っただけなので、違ったら指摘お願いします。

  • 文字化けするページとしないページ(宣言などは同じなんですが・・・)

    はじめまして。 現在、PHPによる更新管理を入れたページを作っています。 なんとか更新、反映はされたのですが、 ページによって文字化けするページとしないページがあります。 宣言?(1行目から<body>までは)はまったく同じなんですが、なぜか文字化けするページとしないページに分かれています。 しかも文字化けする個所としないページは同じテキストの内容です。 にもかかわらず原因不明の文字化けが起きています。 以下、宣言?以下の部分です。 どうかよろしくお願致します。 <!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-Script-Type" content="text/javascript" /> <meta http-equiv="imagetoolbar" content="no"> <meta name="Keywords" content="" /> <meta name="Description" content="" /> <meta name="ROBOTS" content="ALL" />

    • ベストアンサー
    • HTML

専門家に質問してみよう