各国語対応

Unicodeで書かれたトルコ語をシステムに取り込むと、落ちるという現象が発生。某ミドルウェアがShift-JISでXMLを構築するというものであるので、そこでUnicodeを扱うことができなくなり、落ちることがわかりました。
これを調査して、以下のことが分かりました。

  • Excelのセルに値を入れると、内部ではUnicodeで統一されている?
  • ADOを用いてExcelのセル値をDBに更新させようとするとShift-JISとして登録しようとするような動き。Shift-JISにマッピングできない文字があると、なんとフリーズする。
  • SQLServerのテーブル内のフィールドにおいて、型をntext,nvarcharにすると、Unicodeが格納できる
  • ADOでADO.Commandに登録・更新先がntextとかnvarcharであることを定義すれば、フリーズせずにUnicode文字を登録・更新できる

文字コード体系をUnicodeで全部統一してくれたら、こんなことにならないんでしょうが。ハンユニフィケーションに反発がある限りは統一なんて無理無理なんでしょうね。