• ベストアンサー

javascriptの文字コード

javascriptは、どの文字コードで書くのがいいのでしょうか。 色々調べてみたのですが、 古い情報でIE6等では、SJISで書くのがいい とありました。 やはり、今もSJISで書くほうがいいのでしょうか? 現在は、windows7とうもあり、IE7とか8、9になっていると思うのですが、 UTF-8で記述するのは問題でしょうか? ご教授よろしくお願いします。

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

外部ファイルはUTF-8で記述するのが一般的です HTMLがUTF-8でない場合 <script type="text/javascript" src="......." charset="UTF-8"></script> こんな風にcharsetを指定してHTMLから呼び出せばOKです

ShiftTail
質問者

お礼

情報ありがとうございます。 すっきりしました。 大変参考になりました。

関連するQ&A

  • PHPの文字コード変換について

    PHPで mb_convert_encodingを用いて UTF-8で記述されたPHPスクリプトファイルの PHPファイル内の任意の文字列の文字コードを変換する場合、 $value = "文字列"; $str = mb_convert_encoding($value ,"UTF8","UTF8"); print $str; この場合、特に問題なく、変換がおこなわれます というか、意味のないで処理ではありますが。 次に $str = mb_convert_encoding($value,"EUC-JP","EUC-JP"); とした場合 うまく文字列の文字コードの変換がおこなわれず 出力内容は文字化けします。 次に $str = mb_convert_encoding($value,"SJIS","SJIS"); とした場合 EUC-JPと同じく文字コード変換に失敗し 文字化けするだろうとおもいましたが おもいのほかブラウザの文字コードUTF-8のままで文字化けしていないのです。 これはどういう現象でしょうか? たとえば一つ目は UTF8で記述されたPHPファイルの文字列をそのままUTF-8として 変換されせるのですから、問題ないはずです。結果問題ありません。 二つ目は UTF-8でかかれたPHPファイルの文字列をEUC-JPでかかれたファイルとして EUC-JPという文字コードに変換しなさいという命令ですよね? これは思う通りにいかなくて文字化けした文字列が出力されるのはわかるのですが 三つ目はUTF8で記述された文字列をSHIFT-JISとしてSHIFT-JISに変換しようとしているにも かかわらず、結果問題なくブラウザのUTF-8で文字列と表示されてしまいます。 これはいったいどういう事なのでしょうか? これが仮に $str = mb_convert_encoding($value,"SJIS","UTF-8"); なら話は簡単んです。 UTF-8で記述されたファイルの任意の文字列を UTF8からSJISに変換しようとしているのですから問題なく SHIFT-JISでエンコーディングされた文字列が帰ってくるはずです。 こ乃原因をご存知のかたよろしくご教授ください。 お願い致します。

    • ベストアンサー
    • PHP
  • javascriptで文字コード変更

    いつもお世話になっております。 今回はjavascriptの文字コードについてお聞きしたいです。 現在、CGIの応答でテキストを受けて、それをjavascriptで変換して表示するというものを作っていますが、この応答に漢字、ひらがななどが入ると文字化けしてしまいます。 調べてみると、CGIの応答はshift-jisで返しているのですが、javascriptはUTF-8しか扱えないと書いてありました。 なんとか応答のCGIはShift-Jisを送り、javascriptでうまく表示できるようにしたいのですが、方法はないでしょうか? ご教授願います。

  • IE6の文字コードとjavascript

    よろしくお願いします。 間違った言葉の使い方があるかもしれませんが、どうぞご容赦ください。 ホームページ上でJavaScript(Jquery)を使い、画像をスクロールさせています。 同じページにRSSでブログの更新情報を載せています。 RSSのPHPは”utf-8”で文字出力をしています。 ホームページのhtmlも”utf-8”です。 IE6で動作確認をしたところ、RSSの部分が文字化けしてしまいます。 そこで、html、php、cssの全てを”euc-jp”に変更してみました。 すると、IE6上でも文字化けすることなくブログの更新情報が表示されました。 が、”euc-jp”に変更するとIE6上でのみ画像スクロールのJavaScriptが動かなくなってしまいます。 IE6上で文字化け回避し、なおかつJavascriptを動かす方法はあるでしょうか? 個別のプログラムに寄りますか? 何をお知らせしてご意見を仰げばよいのかもわからず、 今回は現象のみお知らせしてご質問させていただいております。 お知らせすべき事項もご指示いただければ幸いです。 よろしくお願いします。

  • 文字コードってUTF-8が主流に?

    文字コードについては、UTF-8が主流になりつつあるってネットで観ました。 文字コードを検索すると次のような説明があります。 (UTF-8のエンコード) UTF-8は、UnicodeとASCIIコードを混在させるための規格です。 (シフトJISコード) シフトJISコードは、SJISとも呼び、Microsoft社が決めたコードでWindows95やMS-DOSやMacなどで使用されています。 その上で質問です。 1、 UTF-8が主流になるってことは、Windows、MacがUTF-8に方向転換するってことでしょうか? 2、 仮にUTF-8が主流になっても、サイトに <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> と記述していれば文字化けなく表示されるのでしょうか? 今の時点では判断できない質問なのでしょうか・・

  • 特定ファイルのみ文字コード変換

    現在PHP5を文字コードUTF-8で使っているのですが あるphpファイルのみSJISで出力したくて色々調べphp.iniを設定したのですが、どんなに強引(無謀)な方法を使ってもブラウザで表示すると文字コードがUTF-8で認識されてしまいます。 (mbstring.detect_order default_charset mbstring.http_output などを色々変更して試しました。) <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" />も記述しています。 SJISで出力させたいファイルの保存文字コードはSJISです。 .htaccess でのフォルダ単位の指定も試したのですがダメでした。 phpファイル内に下記を記述してもダメでした。 header('content-type:text/html; charset=Shift_JIS'); 試しに $test $test2 = mb_convert_encoding($test ,'Shift_JIS' ,'UTF-8'); なども試してみたのですが、何をやってもブラウザはUTF-8と認識してしまうため文字化けしてしまいます。 apacheの設定で AddDefaultCharset は設定していません。 php.iniの設定は素人なりにですがやりつくしたと思うのですが・・・httpd.conf なのかと思って調べても見たのですがUTF-8の記述すらありませんでした。 ちなみに普通のhtmファイルの場合はmetaタグの文字コードをSJIS指定しただけで正しくSJISで表示されます。 ・・・というような状態なのですが、ブラウザにUTF-8と強制的に認識させてしまう設定はどこでされてしまっているのでしょうか? ・・・やはりphp.iniなのでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • perl-cgiで1文字や2文字など短い、文字コードを正しく変換したい

    一文字や、2文字の短い文字コードを正しく変換したいのですが何か、良い方法は無いでしょうか? 文字コードには、絶対に、SJISかUTF8のどちらかしか使っていません。 どなたか、お分かりになる方、教えていただけないでしょうか? よろしくおねがいいたします。

    • ベストアンサー
    • Perl
  • MySQL文字コード

    DB情報をHTMLで表示する場合に、mb_convert_encoding()で指定する文字コード MySQL5.1 PHP5 HTML - shift_jis MySQL の文字セット UTF-8 Unicode (utf8) MySQL の接続照合順序: ujis_japanese_ci フィールドの照合順序 ujis_japanese_ci PHPプログラムでDB情報取得後にSJISに変換 mb_convert_encoding($String, "SJIS", "●●●"); ●●●の文字コードを何を指定すればいいのかがわかりません。 EUCを書くとうまくいってるような気もしますが、なぜEUCでうまくいく のかもわかりません。 ご教授下さい。

    • 締切済み
    • PHP
  • JavaScriptが文字化けする

    JavaScriptファイルをSJIS、EUC、UTF8を統一したために スクリプト上で var str = "あいうえー"; をUTF16で var str = "\u3042\u3044\u3046\u3048\u30fc"; このように変換をしましたが alert("\u3402");とかですと、文字化けはしないのですが、 innerhtml="\u3402"; のようにやると、文字化けをしてしまいます。 どのようにしたら対処できますでしょうか? もし、対処方法なければ、仕方ないので、コード判別をできるようにと考えています。

  • 文字コードについて

    データベースの文字コードとアプリケーションの文字コードが異なる場合、書き込み(INSERT)や取り出し(SELECT)はどのような扱いになるのでしょうか? イメージ的にはデータベースがUTF-8の設定の場合に、アプリケーションがSJISを指定し読み取ったデータをINSERTする場合や、SELECTで取り出す場合に何が問題になるのかを知りたいです。 質問の意図はアプリケーションやデータベースを国際化を意識して作成したく、アプリケーションはVB.NETで、CSVのファイルをsjisを指定して読み込み、それを書き込む際にそのままInsertやSelectを指定して問題ないのか、そもそもCSVファイルにはUTF-8で書き込み、読み込みもUTF-8ですべきなのでしょうか? ちなみにUTF-8がAsciiが1バイト、日本語が3バイトで扱われ、SJISの場合は、Asciiが1バイト、日本語が2バイトで扱われることは理解しています。

  • 文字コードの選択

    PHP+HTML(XML)をするにおいて、最も良い文字コードは何にしたら良いでしょうか?さいきん,特に  UTF-8,UTF-16 を聞きますが、  EUC,SJISなどの方が良いのでしょうか? また、それらの特徴とは,どのようなものでしょうか?  ASCIIも良いのでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう