- - PR -
ASP.NET 引数の日本語が文字化けする
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-17 18:46
いつもお世話になっております。
ASP.NETにてメッセージ用の画面をポップアップで表示しております。 画面OPENの際に引数も指定できるようにしてあり、引数の値を画面に表示できるようにしています。 日本語を引数にセットすると文字化けが起きるので、web.comfigの「globalization」をshift-jisにしたところ解決できたのですが、別の問題があってutf-8に戻そうと思っています。 そこでJavaScriptで画面をモーダルでopenした時に引数に日本語を渡すと文字化けが起きる件の回避方法が解らず困っております。 流れとしては @サーバーサイドでイベント処理 ↓ AエラーがあったらJavaScriptを生成しクライアントに送信(JavaScriptは外部ファイルです) ↓ BJavaScriptのファイル内でshowModalDialog()を実行、urlの後ろに?source='引数'で日本語を渡す。 ↓ Copenしたフレーム形式の画面のHEADタグ内で <% Dim strSource As String = Request.Params("source") %> で引数を取得しフレームのソースの引数にセットしている ★★★デバックしてRequest.Params("source")の値を見ると、この時点で文字化けしています。 <frameset cols="*"> <frame name=contents src="form.aspx?source=<%=strSource%>"> <noframes> ※モーダルで表示したかったのでフレームを使用しています。 良い解決方法があれば、ご伝授願います。 | ||||
|
投稿日時: 2005-11-17 18:53
どんな場合でもエンコードしてください。 ブラウザによっては URL を正しく解釈できません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-17 19:04
ご返答ありがとうございます。
「どんな場合でもエンコードしてください。」とはどういう事ですか? 知識不足ですみません。 | ||||
|
投稿日時: 2005-11-17 19:14
引数にセットする時はどんな場合でもという意味です。 ちょっと「どんな場合」は不適切な表現でしたね、すいません。(*_ _) 確かに、特にエンコードしなくとも大抵はブラウザで正しく解釈されます。 しかし、すべてのブラウザがそうなるわけではありません。 (たいてい、Shift_JIS は OK のようですが) 引数に渡す文字列はエンコードしておきましょう。 ということです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-17 19:15
以下をご参照下さい。
◆@IT http://www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html ◆MSDN(ONLINE) http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebhttputilityclassurlencodetopic2.asp MSDNから引用
| ||||
|
投稿日時: 2005-11-17 19:26
大変恥ずかしい事に「エンコード」の意味を知りませんでした。
URLを参考させて頂き初めて知りました。 ありがとうございました。 |
1