AWSのEC2の Windows Server 2012 R2 + Microsoft SQL Server 2014 にて
NVACHARデータ型の列に格納した日本語が 「?」になり、文字化けを起こした。
Microsoft SQL Server Management Studioで直接日本語データを INSERTすると、「?」とならずに INSERT ができ、Management Studio上では日本語は文字化けしない。
文字化けするのはasp経由のみ。
ネットで解決策を探ると、SQL文にN プレフィックスを追加することで、文字化けが解消すると情報があるが、ソースを変更するのが面倒だ。
実は今回の構成のサーバを使う前に、日本で購入したWindows Server 2012 R2(物理サーバ) + SQLServer2014で、同じソースを利用してい たが、文字化けは起きていなかった。
怪しいのはAWSで調達したWindows OSが英語版であることとだ。
そこでOSのロケールの設定を日本に変更すると、 あっけなく文字化けは解消した。
Nプレフィックスの追加やOSのロケール変更後の SQL Serverの再インストールは不要だった。