1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(QA) IBM i OSの日本語言語コード 2962, 2930 とはなんですか?

Last updated at Posted at 2025-10-07

首記ご質問ですが、

ある程度のレベルの方向けに… ていねいな解説記事はこちら

IBM i の日本語言語コードは2つある 2962と2930

言語コードとはOS導入する際の一次言語、二次言語の識別に使われる4桁の数字です。

端的には GO LICPGM コマンドでシステムの言語コードが確認できます。

GO LICPGM OPT.20の導入済み二次言語 を表示させると、
image.png

上記のように一次言語 の欄に表示されます。
このシステムは 2930の日本語言語コードが導入されていました。

IBM i 言語コードの一覧

こちらのページに記載があります。
image.png

日本語は以下の2つがリストされています。

2930 日本語 (世界共通)
2962 日本語カタカナ

2930 日本語 (世界共通)はCCSID 1399ベース
2962 日本語カタカナはCCSID 5026ベース

と理解してOKです。

日本語の 2962 と 2930 の違い

言語コード2930はOS/400 V5R4から追加された事もあり、2962の言語コードで導入されているシステムの方が依然多いと推察されます。
途中で言語コード変更するにはテスト・検証が必要ですので…

言語コード2962と2930のシステム値デフォルトの相違点

以下のページに記載があります。
各国語バージョンのデフォルト・システム値

QCHRIDのDBCS部分(1027:290)
QCCSID(5026:1399)
Q_LOCALE(JA_JP_5026:JA_JP_1399)
が異なります。

言語コード2962
image.png

言語コード2930
image.png

言語コード 2962でよくある不具合

①OS画面の半角カタカナや英小文字が化ける。
2962の画面
image.png

2930の画面
image.png
半角カタカナが化けています

これは言語コード2962がCCSID 5026ベースでOS画面(OS提供のメニュー画面やメッセージ等)を記述していることが原因です。
このため、英小文字を使いたい等で、CCSID 55035/1399 と ホストコードページ 939の組合せ環境で5026-5035で文字コードの異なる英小文字・半角カタカナなどが化けてしまいます。

その他にも設定環境によっては以下のようなエラーが発生したりします

②プログラム実行時のエラー
image.png

③日本語の文字化け

image.png

これらのエラーを根本的に回避するには言語コード2930をシステムに導入する必要があります。(一時言語または二次言語どちらでも可)

言語コード 2930 FAQ

FAQ1. 言語コード2962と動作上変わってくる点を教えてください

たとえば、5250からの入力の場合、言語コード2962では①、㈱、などのいわゆるNEC選定文字、JIS第4水準の文字などが文字化けする場合があり外字登録で回避しているケースがあると思いますが、言語コード2930では問題無く使用できます。
image.png

FAQ2. Db2 for iテーブルやジョブのCCSIDとの関係はどうなっていますか?

システムに導入する言語コードはシステム全体の環境を決定します(OS提供のメニュー画面など)。データベースやジョブのCCSIDのデフォルト値は言語コードに関連して決定されますが、デフォルトとは別にユーザーが個々に設定することも可能です。

たとえば言語コード2962のシステムのデフォルトCCSIDは5026ですが、Db2 for i テーブルやジョブのCCSIDは5035/1399も設定できます。言語コード2930でも同様で、デフォルトは1399ですが、5026/5035のCCSIDを個別のテーブル、ジョブなどに設定可能です。

FAQ3. 5250画面を使わず、ODBC/JDBCでデータベースアクセスする場合、差異はありますか?

IBM i (Db2 for i)は実行するジョブ(ODBC/JDBCのジョブ)とアクセスするテーブルのCCSIDを参照して正しく文字コード変換を行う機能を搭載しているので、(システムデフォルトに拠らず個別に最適なCCSIDを設定するのであれば)SQLでCRUDするデータ自体、処理では言語コードの差異を無効にできます。

FAQ4. 1つのIBM i LPAR上で言語コード 2962と2930を同居できますか?

はい、一次言語、二次言語でそれぞれを導入できます。使用するジョブによって適切な言語環境を使用するように設定すれば可能です。

1
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?