ASP.NET MVCでUTF-8以外の文字コードを受け取る

2020/05/18
ASP.NETのWebFormでは外部システムからのPOSTを受け取るのはできなかったような気がしますが、MVCは簡単に受け取ることができます。
ただ、POSTする側のシステムの文字コードがeucだったりshift_jisだったりするとそのまま受け取ったのでは文字化けしてしまいます。

こちらを参考にページ単位でWeb.configにrequestEncodingとresponseEncodingを指定する必要があります。

ASP.NET MVC側がutf-8で、ポストしてくる相手側がeuc-jpの場合
<location path="外部からのポストを受け取るページ">
    <system.web>
    <globalization requestEncoding="euc-jp" responseEncoding="utf-8" />
    </system.web>
</location>
path は上記のリンク先ではpath/to/your/actionmethodと書かれていますが、自分でURLを書き換えている場合は相当するactionmethodへの相対パスになります。
複数書き換えたい場合はlocationは幾つあっても良いので上記の記述を繰り返します。
OK キャンセル 確認 その他