2006年08月03日

ASP.NETでJavascriptを外部ファイルにする場合の注意

前回のTipsでjavascriptを扱ったが、これをASP.NETに実装する際、変更が楽なように外部ファイルにしてテストしたところ何故かエラーになった。下図

エラーメッセージ
ランタイムエラーが発生しました。
デバッグしますか?
行:23
エラー:文字が正しくありません。

どうやら日本語のメッセージが原因のようで、文字を変えてみたりするとエラーにならなかったりするのだが、不思議なのは外部ファイルにせず直接ASPXファイルに記述するとそのままでも問題なく動いたことである。となると、外部ファイルの読込み時になにか問題があるようなので、いろいろ調べてみた。そしてファイルの文字コードがShift-JISであることが原因らしいと判った。ASPX自体もShift-JISなのに何でかと思うのだが、ある掲示板に「ASP.NETによるサーバ出力の文字コード体系はUTF-8」と書いてあった。
Web.ConfigにもUTF-8とあるし、以前にも確か同じことで悩んだことも思い出した(^^;

そこで、外部javascriptファイルをUTF-8に変換してみたところ正常に動いた。
(※日本語を使っていなければShift-JISのままでもエラーにはならない)

Shift-JISのファイルをUTF-8に変換するのはメモ帳を使うとよい。
読込み後、「名前を付けて保存」時に文字コードを「ANSI」から「UTF-8」に変更するだけである。(下図)

メモ帳でUTF-8で保存する


posted by なっちゃん at 11:41| 静岡 ☁| Comment(2) | TrackBack(0) | ASP.NET Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
はじめまして。
現在、ASP.NETにてシステム開発している者です。

JavaScriptを外部ファイルにしたら、エラーになってしまい、このページのように対応したら解決しました。

ありがとうございました!
Posted by えばやん at 2006年10月11日 11:40
script タグの charset 属性をつかって、Javascript ファイルの charset を指定する方法もありますね。
Posted by かるあ at 2007年06月27日 12:03
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。