User's Forum for DB2 Japan フォーラム一覧
User's Forum for DB2 Japan
DB2ユーザーのための情報交換コミュニティ
返信
DB2 9 for Linux + GUIでの各種文字化けについて
SIM
Level 22
Level 22

登録日: 200439月 15日
投稿記事: 501
所在地: 東京
引用
DB2 9 Exprss-C for Linuxで、GUI(インストーラー、コントロールセンター)などで日本語メッセージが文字化けする現象が発生しています。
困っている方も居るかもしれないので、このスレッドを借りて回避方法を書きたいと思います。まずはインストーラーについてです。

DB2 9 Express-C for Linuxは、本体と言語パック(National Language support = NLPack)が別々にダウンロードするようになっています。

http://ibm.com/jp/developerworks/db2express/
http://www-306.ibm.com/software/data/db2/udb/db2express/download.html

インストールの際には、本体のみインストールし後から言語パックを入れる方法と、同時にインストールする方法がありますが、その際に日本語表示が文字化けするケースがあります。

簡単ですが、本体とNLPackを同時にインストールする際の文字化け回避方法について書きます。(本体だけ入れる場合は、そもそも英語メッセージだけなので化けません)

1) DB2 9 Express-CとNLPackをダウンロードしたら、以下のように展開します。

Code:
$ tar zxvf db2exc_91_LNX_x86.tar.gz
$ tar zxvf db2_v9_liunux_nlpack.tar.gz


同じディレクトリで展開する事で、日本語メッセージでインストーラーを起動できるようになります。

2) インストーラーを起動します。

必ずrootユーザで、

Code:
# cd exp/disk1/
# LANG="ja_JP.utf-8" ./db2setup


と起動してください。LANGの設定がja_JP.utf-8と小文字なのがポイントです。多くのディストリビューションではデフォルトがja_JP.UTF-8になっているため、LANGを指定しないと文字化けが生じます。インストーラーが起動すれば、通常通りに導入できます。導入後にDB2を操作する場合はLANGを調整する必要はなく、ja_JP.UTF-8のままで使用できます。

もしくは英語画面でも良い場合はLANG="" ./db2setupとしていただければ英語での表示になります。ただしこの場合はインストール時に"Custom"を選択し、"Select the languages to install"でjapaneseを導入するようにしてください。(ja_JP.utf-8の場合は自動的に日本語メッセージが選択されます)

また、NLPackは導入が必須ではありません、表示メッセージやエラーメッセージが英語になりますが、本体だけでもDBへの日本語の格納は問題なく行えます。

_________________
SIM
ユーザー情報を表示メッセージを送信
Re: DB2 9 for Linux + GUIでの各種文字化けについて
SIM
Level 22
Level 22

登録日: 200439月 15日
投稿記事: 501
所在地: 東京
引用
次に、DB2 Developer Workbench (DWB)の導入時の文字化けについてです。
こちらは以下のようにJAVA_FONTS環境変数の指定で対応できるようです。

(rootユーザで)
Code:
# cd disk1
# JAVA_FONTS=/opt/ibm/db2/V9.1/java/jdk32/jre/lib/fonts  ./launchpad.bin

_________________
SIM
ユーザー情報を表示メッセージを送信
Re: DB2 9 for Linux + GUIでの各種文字化けについて
SIM
Level 22
Level 22

登録日: 200439月 15日
投稿記事: 501
所在地: 東京
引用
インストール後のdb2ccやdb2fs等のGUIでも文字化けが起こる可能性があります。これはDB2というよりJDKとディストリビューションに依存する、結構根が深い問題です。

db2cc等がデフォルトで文字化けするのはDB2が使用しているIBM JDK 5.0 (/opt/ibm/db2/V9.1/java/jdk32以下)のフォント設定がOSと合致していないからです。

JDK 5.0からJavaで使用するフォントとOSのフォントのマッピング方法が変わり、jre/lib/以下にあるfontconfig.propertiesファイルを使用することになりました。デフォルトでは存在しないので、同ディレクトリにあるサンプルファイルをコピーして使用する事で、文字化けが解消されます。

例)RHEL 4やCentOS 4の例 (rootで作業)
Code:
# cd /opt/ibm/db2/V9.1/java/jdk32/jre/lib
# cp fontconfig.RedHat.4.properties.src fontconfig.properties


自分が使用するディストリビューションのファイルがなくても、似ている形式のものをコピーする事で使用可能になる場合もあります。例えばUbuntu 6.06はfontconfig.SuSE.9.properties.srcがそのまま使用できました。

既存のファイルではうまくいかない場合(SLES10等)は、既存のファイルをベースに自分で修正する方法があります。日本語フォントファイル名を置き換える事でうまくいくケースがほとんどです。ただしディストリビューションによっては、RPMの名前やフォント名はkochi-*なのに、ファイル名はsazanami-*だったりするので注意が必要です。

また、他の方法としてJDK 5.0のfallbackディレクトリを使用する方法もあります。このディレクトリにフォントファイルを入れておくと、JREが一致するフォントを見つけられない場合に強制的にディレクトリ内のフォントから使用してくれます。つまり、/usr/share/font/ja以下等にある、自分が使用しているフォントからシンボリックリンクを作成すればOKです。

例)CentOS 4の場合 (rootで作業)
Code:
# mkdir /opt/ibm/db2/V9.1/java/jdk32/jre/lib/fonts/fallback
# cd /opt/ibm/db2/V9.1/java/jdk32/jre/lib/fonts/fallback
# ln -s /use/share/fonts/japanese/TrueType/kochi-mincho-subst.ttf .
# ln -s /use/share/fonts/japanese/TrueType/kochi-gochic-subst.ttf .

_________________
SIM
ユーザー情報を表示メッセージを送信
Re: DB2 9 for Linux + GUIでの各種文字化けについて
SIM
Level 22
Level 22

登録日: 200439月 15日
投稿記事: 501
所在地: 東京
引用
コントロールセンターなどでの文字化け解消について補足です。
fallbackディレクトリへの適当なフォントが見付からない場合は、nlpackに含まれている日本語フォントを使用すると良いようです。

$ tar zxvf db2_v9_linux_nlpack.tar.gz

で展開したディレクトリにある以下のファイルが日本語フォントです。

nlpack/disk1/java_fonts/tnrwt_j.zip
nlpack/disk1/java_fonts/mtsansdj.zip

この2つのファイルを展開して、できたttfファイルを適当なディレクトリに保存しておいて、そのttfファイルへのシンボリックリンクを/opt/ibm/db2/V9.1/java/jdk32/jre/lib/fonts/fallback以下に作成するとうまくいくようです。

_________________
SIM
ユーザー情報を表示メッセージを送信
DB2 9 for Linux + GUIでの各種文字化けについて
新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可
All times are GMT +9:00  
Page 1 of 1  

  
  
 返信