db2のコードセットをIBM943

http://www-01.ibm.com/support/docview.wss?uid=std3373167413a05f3c5492573300001cf24

DB2: Linux環境でSJISデータが文字化けする現象について
概要

002C196F【Linuxサーバー(LANG=ja_JP.UTF-8)上にCreate DB using codeset 943 ...にてSJISのデータベースを作成し、SJISのDELをFTPでサーバー転送後にImportしたところ、DB2 Clientより参照時に文字化けが発生してしまいました。】

内容/目次<<< QUESTION >>> 2007/07/13 17:18:20

DB2 V9.1
RHEL(RedHat Enterprise Linux) 4

Linuxサーバー(LANG=ja_JP.UTF-8)上にCreate DB using codeset 943 ...にてSJISのデータベースを作成し、SJISのDELをFTPでサーバー転送後にImportしたところ、DB2 Clientより参照時に文字化けが発生してしまいました。

元のデータ自体は、catなどで参照可能なため(端末表示も943)、SJISとしてアップロードされているのですが、DB2にImport後、 Select等を実行しても文字化けが起きています。

またJavaアプリからも、ResultSet取得時に、データが壊れている旨のエラーが発生しています。

Q1)
Linux,UTF-8環境でのSJISのDBを作成すること自体は可能でしょうか?(サポートされているでしょうか?)

Q2)
Linux環境にて、Importの際の考慮点等あれば教えてください。<<< ANSWER >>> 2007/07/17 16:13:01

A1)
DB2 for LinuxSJISのDBをCREATEすることは、可能です。
言語環境が異なる場合も、DBのコードページと、クライアントの言語環境が異なることで、自動的にコードページ変換が起こります。

サポート技術情報: DB2 UDB V8.2: Linux上で文字コードIBM-943のサポートについて

A2)
DBサーバーにアップロード時点でDELファイルがSJISで、IMPORTコマンドによってコード変換が起こっているのであれば、LANGを SJISにするか、DBクライアントに DB2CODEPAGE=943レジストリーを指定し、db2 terminate後、再度IMPORTを行い、問題が解決するかもご確認下さい。

DB2 for LUWのクライアントとサーバー間は、DBのCODEPAGEと、クライアントの言語環境(又はDB2CODEPAGEレジストリーにより上書き)が同一である場合は、同じ言語環境とみなし、コードページ変換を行います。
逆に、DBのCODEPAGEとクライアントの言語環境が異なる場合は、言語環境が違う為、コードページ変換を試みます。

念のためですが、FTP等でコードーページ変換が起こってないか、また、バイナリー・エディター等で、DELファイルがUTF-8のコードになっていないかも、念のため、ご確認下さい。

以上