- PR -

JavaScriptでのメッセージ表示で文字化け

投稿者投稿内容
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2004-10-11 15:21
ASP.NETで開発を行っております。

ボタンクリック時にJavaScriptの関数を呼び出し、関数内でメッセージボックスを表示したいのですが、文字化けしてしまいます。

サーバー側で
Me.Button.Attributes("onClick") = "return confirm('削除します。よろしいですか?');"
といったメッセージは文字化けせずに表示されます。

これを

Me.Button.Attributes("onClick") = "delete()")

として、JavaScriptの関数で

function delete(){
if (confirm('削除します。よろしいですか?')) return;
}

とするとメッセージの文字が文字化けします。

JavaScript側での文字コードの設定等あるのでしょうか。

設定等あるのならば、設定の方法を教えて頂けませんか。
ポテチ
ベテラン
会議室デビュー日: 2003/03/28
投稿数: 69
投稿日時: 2004-10-11 15:35
関数内のJavaScriptとASP.NETが生成したHTMLとのエンコード形式が一致してないのでは?


burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-10-11 17:48
JavaScriptのdelete()はどこに記述されてますか?
jsファイルに記述してあると、そのjsファイル文字コードと
HTMLのヘッダに指定されている文字コードが異なると、このような現象がおきます。
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2004-10-11 18:34
ありがとうございます。

関数はJSPファイルに書いてます。

名前を付けて保存で「日本語(シフトJIS)」を指定してやってみましたが、結果は同じでした。
どうやって指定すれば良いのでしょうか?教えて頂けますか。

burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-10-11 19:46
ASPXのHTMLヘッダ部に書かれている[charset]は何に指定しているのですか?
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2004-10-11 20:33
引用:

burton999さんの書き込み (2004-10-11 19:46) より:
ASPXのHTMLヘッダ部に書かれている[charset]は何に指定しているのですか?



HTMLを検索しまいたが「charset」はありませんでした。
お獅子
大ベテラン
会議室デビュー日: 2004/09/14
投稿数: 160
投稿日時: 2004-10-11 22:29
HTMLのHEADに
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS">
を入れてみましたが結果は同じでした。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-10-11 23:01
引用:

関数はJSPファイルに書いてます。



クライアントサイドスクリプトを格納するのに、拡張子 .jsp は適当ではありません。
.js が推奨されます。

引用:

名前を付けて保存で「日本語(シフトJIS)」を指定してやってみましたが、結果は同じでした。



ASP.NET によるサーバ出力の文字コード体系は utf-8 であることをご存じないでしょうか?

問題を解決するには、サーバ出力と .js ファイルの文字コードを同じものにする必要があります。

とりあえず、.js ファイルを utf-8 で保存するのが最も手間がかからないのではないでしょうか。



_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/

スキルアップ/キャリアアップ(JOB@IT)