C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■100323 / )  Re[13]: IIS 10.0 URLのパラメータの日本語が文字化け
□投稿者/ こいち (11回)-(2022/07/15(Fri) 19:21:42)
No100319 (WebSurfer さん) に返信

すみません、遅くなりました。
色々ありがとうございます。

> (1) web.config で web.config で requestEncoding, responseEncoding を shift_jis に設定

こちらですが、web.config では requestEncoding, responseEncoding を shift_jis に設定しています。
(ここは変更せずテストしておりました)

で、大谷刑部 さんが書かれていることが気になって、
-------------------------------------------------------------
Dim strName As String = Me.Request.QueryString("NAME")
-------------------------------------------------------------
ここの処理を下記のように修正してみました。
-----------------------------------------------------------------------------------------------------------------------
Dim queryDictionary As NameValueCollection = HttpUtility.ParseQueryString(Context.Request.Url.Query, Encoding.UTF8)
Dim strName As String = queryDictionary.Get("NAME")
-----------------------------------------------------------------------------------------------------------------------

パラメータの取得時にどの文字コードを指定しているのかよく分からなかったので明示的に指定してみました。
Encoding.Defalt は「繝・せ繝・」となったため、Encoding.UTF8 を試したら
結果、IE も Edge もパラメータで指定した文字を取得することが出来ました。
IEはの以下のオプションはチェックは付けていない状態でした。(PC再起動済み)
・イントラネット URL の UTF-8 クエリ文字列を送信する
・イントラネット以外の URL の UTF-8 クエリ文字列を送信する

正直、よく理解出来ていないのですが、一旦、上司に相談してこちらで検証を進める話になりました。 

web.config の globalization が効いていないのでしょうか・・・

WebSurfer様、魔界の仮面弁士様、大谷刑部様、ありがとうございました。
まだ理解出来ていないところがありますが、解決とさせていただきます。

引き続き、勉強は継続してみます。
解決済み
返信 編集キー/


管理者用

- Child Tree -