田舎のパパが日常で感じた気になる話を発信するブログです。

気になるボックス

Windows

【ASP.NET】UpdatePanel内におけるテキストの文字化けの対処方法

投稿日:

ASP.NETのUpdatePanelでの文字化けの対処方法を紹介します。長らく利用してたのですが初めて文字化けの被害!?にあい解決に手間取りました。(被害妄想です)

スポンサーリンク

テキスト関係が化ける

当方の環境では、直接書き出すリテラル文字は化けずに出力されたのですが、inputのtextやhiddenにセットした値が化けました。
aspnet_updatepanel

JavaScriptを埋め込むことで対処

原因はWebページの文字コードにUTF-8以外を利用しているときに発生するようです。確かに問題のおきた環境はweb.configでShift-JISを指定していました。

以下のスクリプトを埋め込むことで回避することができました。

function pageLoad(sender, args) {
    if (!args.get_isPartialLoad()) {
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(OnBeginRequest);
    }
}

function OnBeginRequest(sender, args) {
    args.get_request().get_headers()["Content-Type"] = "application/x-www-form-urlencoded; charset=utf-8";
}

今回、参考にさせてもらったサイトによるとVisualStudio2005で発生する問題で、VisualStudio2008ではすでに解決済みだそうです。

おわりに

ちまたではVisualStudio2012だというのに、そろそろ新しいツール買ってくれないかな・・・

ではでは。

参考サイト

-Windows
-

Copyright© 気になるボックス , 2016 AllRights Reserved Powered by AFFINGER4.