[ASP.NET]aspxファイルの文字エンコーディング

結論

.aspx、.asmx、.asaxファイルは、BOM付きのUTF-8で保存するのが安定です。

詳細

.aspx、.asmx、.asaxファイルのデフォルトエンコーディングは、Web.configのglobalizationタグのfileEncoding属性で指定できます。

しかし、 .aspx、.asmx、.asax ファイルがBOM付きのUnicodeまたはUTF-8で保存されている場合は、fileEncoding設定を無視して自動的にファイルエンコードが解釈されます。

つまり、 次の順番でファイルを解釈するエンコーディングが決まります。

  1. ファイルがBOM付きのUnicodeまたはUTF-8でエンコードされている場合は、それで解釈される。
  2. ファイルエンコードが上記ではない場合、Web.configの //globalization/@fileEncoding がデフォルトのエンコーディングとして使用される。

BOM付きのUnicodeまたはUTF-8でファイルを保存すれば環境の設定に影響されずに正しく解釈されるので、aspxなどのファイルはBOM付きUTF-8で保存するのが安定です。

参照情報

support.microsoft.com

https://support.microsoft.com/en-us/help/893663/globalization-issues-in-asp-and-asp-net

コメントを残す