データベースに「ゔぃんせんと」と登録しようとしたら「ヴぃんせんと」にされてしまいました。
#現象
SQL Serverでvarchar型のカラムに「ゔ」をinsertしようとすると「ヴ」と登録されます。
▼varcharのカラムに
▼「ゔ」をinsert
▲「ヴ」になっている!
#原因
SQL Serverのvarchar型はデフォルトの文字コードがShift_JISだそうです。「ゔ」はShift_JISに存在しない為、文字の意味的に近い「ヴ」としてinsertされるようです(推測)
#対処
nvarchar型でinsertしましょう。
nvarchar型は文字コードがUnicodeなので「ゔ」をinsertすることができます。
insertする際にUnicodeを意味するNプレフィックスを指定します。
▼nvarcharのカラムに
▼Nプレフィックスを指定してinsertします
▲「ゔ」が正しくinsertされました!
#まとめ
「ゔ」以外にもShift_JISで扱えない文字が存在するようなので、SQL Serverで日本語の文字列をinsertするときは、nvarchar型でNプレフィックスを指定してinsertしましょう。