Pages

2015/08/14

Visual Studio 2015 文字コードによっては文字化けする


Visual Studio 2015 での文字コード


パンくずが文字化けしたw

Visual Studio 2015 では、Shift_JIS などの Unicode 以前の文字コードで保存してある C#, VB ファイル(.cs とか .vb)があるとコンパイルできなかったり、文字化けが発生したりという厄介な挙動をする場合もあるようです。
まぁ、今さらなんで Unicode じゃないファイルが混ざっているの? というそもそもの話もありますが、昔(Visual Studio 2003とかで)に作られたものだと、そういうことも多々あります。

自分がはまったのは、ASP.NET で、C# や VB のソース部分に日本語を設定してあって、それを画面に表示する処理の箇所で文字化けが発生しました。



文字コードを Unicode に統一

Visual Studio のサポートチームのブログでは、プロジェクトファイルを修正する方法と、ソースファイルのエンコードを Shift JIS から UTF-8 に変換する二つの解決策が提示されています。個人的には、前者のプロジェクトファイルを編集してイレギュラーなケースを許容する方法より、クロスプラットフォームという今後の潮流を考えると後者の方法の方が好ましいと思います。
ソースを変更することで再度テストが発生するなどの場合は仕方がないよね…。

ForceUTF8

ForceUTF8
また、この拡張機能は、ソースファイルを保存する際に、常に UTF-8 で保存してくれます。コマンドでエンコードを一括置換するのもいいですが、これを入れておけば、修正する際に保存して勝手にエンコードも直してくれます。
なお、内容が変更されていない状態で保存してもエンコードは変わらないようなので、スペースでもなんでもいいのでファイルを一旦変更してから保存をする必要があります。

【関連情報】
PowerShell でファイルエンコードをUTF-8に一括変換


Related Posts Plugin for WordPress, Blogger...