ASP.NETのUpdatePanelでの文字化けの対処方法を紹介します。長らく利用してたのですが初めて文字化けの被害!?にあい解決に手間取りました。(被害妄想です)
スポンサーリンク
テキスト関係が化ける
当方の環境では、直接書き出すリテラル文字は化けずに出力されたのですが、inputのtextやhiddenにセットした値が化けました。
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だというのに、そろそろ新しいツール買ってくれないかな・・・
ではでは。