2006-09-22 [長年日記]

[Q3] ブラウザコントロールに渡すときの文字コード

HTMLメールをブラウザコントロールで表示するときに、MIMEヘッダのContent-Typeのcharsetパラメータが正しくて、HTML内のMETAタグのContent-Typeのcharsetパラメータが間違っていると、METAタグの方が優先されて文字化けしてしまうことがあります。

そこで、最近のビルドでは、IInternetProtocol経由でブラウザコントロールに渡す前にUTF-16に変換し、それを渡すように変更してありました*1。ところが、Windows Mobileのブラウザコントロールはこれがうまく扱えないようで、文字化けしてしまうそうなので、BOM付きのUTF-8で渡すようにしてみました。BOMなしのUTF-8だとやはりMETAタグの指定が優先されてしまいますが、BOM付きだと常にUTF-8として解釈してくれるようです。

*1  以前から手動で文字コードを指定された場合には同様にしていました

[]