2014年10月18日土曜日

JavaScriptで文字コード指定

初心者がつまづきやすい所の1つとして、外部JavaScriptファイルにマルチバイトが含まれている場合のエラーがあると思います。
ファイルを読み込む前に文字コードを指定しないと文字として認識されずにエラーとなります。
古いIEで発生する問題となります。

例1
×<script type="text/javascript" src="hoge.js" charset="UTF=8"></script>
○<script type="text/javascript" charset="UTF=8" src="hoge.js"></script>

例2
×b.setAttribute("src",a);b.setAttribute("charset","UTF-8");
○b.setAttribute("charset","UTF-8");b.setAttribute("src",a);

上記のように、文字コードを指定する順序が重要となります。