Visual Studio 2015 & ASP.NET & LocalDB(SQL Server)で文字化けするときに疑う箇所。

Visual Studio Community 2015のパッケージマネージャーで、「Enable-Migrations」を実行した後に生成される「Configuration.cs」を使って初期データを投入したときに、日本語が文字化けしたら以下を疑ってみてください。

  1. Confirmation.csのファイル文字コードがCP932である
  2. データベースのCOLLATE(照合順序)がSQL_Latin1_General_CP1_CI_ASである

自分は最初、照合順序だけ疑っていろいろ調べましたが解決せず、途方に暮れながらも3時間ぐらいビングり*1続けました。

直接INSERTを発行しても文字化けせず、作ったAPIでPOSTからデータを投入しても文字化けせずという状況だったので、あと疑うのはVisual StudioかMigrationあたりだなと思い「migration seedメソッド 文字化け」でビングりました。

そして以下のサイトでファイル文字コードが原因であることを突き止めたのでした。

oki2a24.com

Migration\Configuration.cs の文字コードUTF-8 にして保存し直す。
そうしなかった場合、データベースに挿入されたデータが文字化けした。 

 非常に助かりました。まさか今どきCP932でファイルが作成されるとは思わなかったです。

*1:Googleで検索=ググる、Bingで検索=ビングるだと思った