• ベストアンサー

SQLServerでSJIS 第3・第4水準を扱う

SQLServerでSJIS 第3・第4水準に対応したシステムを作るにはどうすれば良いのでしょうか? 照合順?か何かを変えると扱えたり、 バイナリデータ型でデータを格納すると、コード値から復号できるなり、 そういう方向なのかなとは想定しているのですが、これ以上は想像できていないのです。。 .

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>SQLServerでSJIS 第3・第4水準に対応したシステムを作るにはどうすれば良いのでしょうか? データベースのテーブル内のフィールドを、Unicode対応のフィールドで設計し、Unicodeでデータを保存します。 つまり、フィールドタイプchar、varchar、textの代わりにnchar、nvarchar、ntextを使います。 SQLSreverの内部コードページはcp932(MS932)になっているので、第三水準、第四水準の一部の漢字が扱えません(cp932では、第三水準、第四水準の一部の漢字しか割り当てられていません) 第三水準、第四水準の全部の漢字を格納するには、Unicodeが必須となります。 フィールドタイプnchar、nvarchar、ntextを使う事により、データベースに「Unicode」で保存されるようになります(言い換えると、データベースの入出力時に、Unicodeにコード変換する必要がある) ですので、システム全体(アプリケーション本体)も「内部の文字コードにUnicodeを使う」と良いと思います(と言うか、第三水準、第四水準の全部の漢字をサポートするには、内部文字コードも、外部とのインターフェース部分も、何もかも「Unicodeで行なう」必要があります)

paranoia23
質問者

お礼

ありがとうございます! 理解できました!

すると、全ての回答が全文表示されます。

関連するQ&A