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

わんくま同盟

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

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


■100339 / )  Re[14]: IIS 10.0 URLのパラメータの日本語が文字化け
□投稿者/ 大谷刑部 (212回)-(2022/07/16(Sat) 09:45:30)
No100323 (こいち さん) に返信
> ■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 もパラメータで指定した文字を取得することが出来ました。

それはエンコードの方をUTF-8に変えて解決したということになるのですが、それで構わないんですね?
設定ファイルで、エンコードをs-jisにするのが要件的に必須なのかと思ってました。

前にも書きましたが、弁さんのエンコードとデコードの文字コードが一致してなかったとの指摘が全てかと。

上司に相談して最終決定するにしても、原因の根本を理解してから話した方がよろしいかと

弁さんがエンコードデコードの不一致の例まで書いてくれてるのですから、それを元に説明するのが一番わかりやすいでしょう。
解決済み
返信 編集キー/


管理者用

- Child Tree -