目次
db2setup で文字化けする場合
Linux などで Db2 をインストールする場合、大概は db2setup にレスポンスファイルを指定してコマンドから実行する方が多いと思うのですが、プロジェクトによっては VNC 経由で GUI インストールする場合もあるかと思います。
原因はフォントが足りていない
そんな時に Db2 セットアップ画面が文字化けしてしまう事があります。原因は Java が使用するフォントが足りていない事が多いです。
解決策
RHEL 8 では使用されている国際化について以下のページで紹介しており、そこに日本語フォントもはいっています。以下の2つが RHEL 8で使用される日本語フォントになります。
- google-noto-sans-cjk-ttc-fonts
- google-noto-serif-cjk-ttc-fonts
ですので、上記2つをインストールしてあげれば文字化けは解消します。
# yum -y install "google-noto-sans-cjk-ttc-fonts"
# yum -y install "google-noto-serif-cjk-ttc-fonts"
参考までに
細かい話ですが、db2setup 実行中に実行ディレクトリに java の一時実行環境が展開されます
# cd /root/db2.tmp.68780/db2/linuxamd64/java/jre/lib/fonts
上の例ですと、root ユーザーのホームディレクトリに db2.tmp.68780 という一時ディレクトリが作成され、ディレクトリ以下に java の実行環境が展開されていきます。そして java で使用されるフォントは fonts ディレクトリに展開されますので、そこを調べてみます。
# cd /root/db2.tmp.68780/db2/linuxamd64/java/jre/lib/fonts
上記ディレクトリ内には各OSに対応したフォントのコンフィグがありますので、今回は RHEL 8 のコンフィグを見てみます。
# cat fontconfig.RedHat.8.properties.src
日本語に関連するところを抜き出すと以下のようになっており、”Noto Serif CJK JP” と “Noto Sans Mono CJK JP” が指定されている事がわかります。
serif.plain.japanese-iso10646=Noto Serif CJK JP serif.bold.japanese-iso10646=Noto Serif CJK JP serif.italic.japanese-iso10646=Noto Serif CJK JP serif.bolditalic.japanese-iso10646=Noto Serif CJK JP sansserif.plain.japanese-iso10646=Noto Sans CJK JP sansserif.bold.japanese-iso10646=Noto Sans CJK JP sansserif.italic.japanese-iso10646=Noto Sans CJK JP sansserif.bolditalic.japanese-iso10646=Noto Sans CJK JP monospaced.plain.japanese-iso10646=Noto Sans Mono CJK JP monospaced.bold.japanese-iso10646=Noto Sans Mono CJK JP monospaced.italic.japanese-iso10646=Noto Sans Mono CJK JP monospaced.bolditalic.japanese-iso10646=Noto Sans Mono CJK JP dialog.plain.japanese-iso10646=Noto Sans CJK JP dialog.bold.japanese-iso10646=Noto Sans CJK JP dialog.italic.japanese-iso10646=Noto Sans CJK JP dialog.bolditalic.japanese-iso10646=Noto Sans CJK JP dialoginput.plain.japanese-iso10646=Noto Serif CJK JP dialoginput.bold.japanese-iso10646=Noto Serif CJK JP dialoginput.italic.japanese-iso10646=Noto Serif CJK JP dialoginput.bolditalic.japanese-iso10646=Noto Serif CJK JP
RHEL 8 で使用される上記のフォントは先ほどの Red Hat のリンクにあるフォントセットになりますので、今回足したフォントをインストールすれば、解決できることになります。
レスポンスファイルを使用したインストールについては以下の記事が参考になると思います。