TeraPadでWebファイルを編集するときは文字コードをUTF-8Nにする
目次
さて。ドットインストールでプログラミング学習中に
気付いたお話を1つ。
お問合せ管理システムを作ろう (全21回) #15 データを削除してみよう (1)
問題の内容
次のコードを書いていた時のことです。
<script> $(function() { $('.deleteLink').click(function() { if (confirm("削除してもよろしいですか?")) { $.post('./delete.php', { id: $(this).data('id') }, function(rs) { $('#entry_' + rs).fadeOut(800); }); } }); }); </script>
コードの詳細は割愛しますが、
要は、phpファイルを読み込んで、jQueryでブラウザ上に
表示されている文字列をfadeOutさせるという内容です。
最初はドットインストールを書き写し、
次にコードをまるまるコピペ。
でもjQueryは動作しない。
なぜ?why?
解決方法
たくさんの方に解決方法を聞いて回って、
最後に分かった方法がコレ↓
WebにアップロードするファイルはBOMなしで保存すること。
個人的にエディタソフトのファイルはTeraPadを使用しています。
TeraPadではUTF-8の文字コードに2種類あるようです。
- UTF-8 BOMあり
- UTF-8N BOMなし
上の画像のように、TeraPadを立ち上げて、
表示
↓
オプション
↓
文字コード
↓
初期文字コードをUTF-8N
にしておく必要があります。
これUTF-8Nにしておくと、jQueryのfadeOutも
動作するようになりました
参考サイト
PHP工房 UTF-8使用時の注意点(BOMあり、無し)
この本↓の843ページにもBOMのエラーについて
言及されていますね。