タイトルが何の事かわかった方は事情通(?)ですね。(^-^;)
しばらく書き込みしていませんでしたが、今回は昔i Magazine 創刊3号に掲載いただいた記事を転載します(許可取得済み)。何の事か判らなかった方はぜひご一読を。
.
------------------ 以下転載 ------------------
言語コード2930とCCSID-1399
2006年6月20日に新しい日本語言語コードである2930がV5R4用に利用可能となった。これはAS/400、iSeries、そしてSystem iを利用するIBMの中型システム・ユーザーにとって大きな意味を持つ。
AS/400が1988年に出荷開始されて以来ほぼ18年にわたり、OS/400およびi5/OSの日本語言語コードとしては2962という一種類の言語コードのみが提供されてきた。言語コード2962は「日本語(カタカナ)」と呼ばれ、AS/400以前のIBM中型機(S/38やS/36)と互換性を持っており、RPGやCOBOLで開発された従来の5250アプリケーションを稼動させるのに適している。言語コード2962の推奨文字コード(CCSID、Coded Character Set Identifier)は5026である(CCSIDについては後述)。
一方言語コード2930の推奨CCSIDは1399であり、両者を組み合わせると、半角 (脚注1) 英小文字の利用が容易になり、クライアント・サーバーやインターネットなどのオープンな環境との親和性が高まる。V5R4以降のi5/OSを言語コード2930と組み合わせ、適切な環境設定を行なう事によって下記のメリットを享受できる。
• システム画面や印刷出力における半角文字の文字化けの解消
言語コード2930ではIBM提供画面などの半角文字のコードが変更されている。これまでの英小文字環境で発生していた文字化けが正しく表示される (脚注2) ようになる。
• 追加の文字が利用可能
言語コード2930とCCSID-1399を共に利用すれば、従来の文字セットに加えて、ユーロ通貨記号、NEC特殊文字 (脚注3) (丸付き数字、単位文字、年号、数学記号、その他)、JIS X0212(補助漢字) (脚注4) を含む文字が利用可能となる (脚注5)。また、将来の文字の増加にも対応する事ができる (脚注6)。
言語コード2962と2930の違いは?
言語コード2930について、もう少し詳しく説明しよう。言語コード(i5/OSの各国語バージョンの機能コード)とは、それぞれの言語について、日付形式、時刻形式、ソート順序、文字コードなどをセットとして定義したものである。「iSeries Information Center」 (脚注7) にはそれぞれの言語コードの定義が記載されている。言語コード2930と2962を比較すると、システム値QCCSIDの推奨値が異なっている(2930のCCSIDが1399、2962のCCSIDが5026 (脚注8) )。QKBDTYPE(キーボード・タイプ)なども異なっているが、本稿では説明を省略する。
IBMはCDRA(Character Data Representation Architecture) (脚注9) と呼ぶアーキテクチャーに基づいてコンピューターで使用する文字を定義している (脚注10)。この定義には、文字の集合を表す文字セット(Character Sets)、文字の配置を表すコード・ページ(Code Page)、コード・ページと実際のコンピューター上のコードとの対応を行う符号化方法(Encoding Scheme)などを組み合わせる。この組み合わせをCCSID(Coded Character Set Identifier)と呼び、これによって文字コードを一意に特定する。文字セットとコード・ページは、SBCS(1バイト文字)とDBCS(2バイト文字)とで別々に規定されている。通常、日本語CCSIDはSBCSとDBCSの組み合わせで構成されており、これを混合CCSIDと呼ぶ。
i5/OSで使用される主な混合CCSIDを下図に示す (脚注11)。
|
混合CCSID
|
符号化方法
|
文字セット
|
コード・ページ
|
概要
|
備考
|
|
5026
|
1301
(EBCDIC)
|
SBCS
|
1172
|
290
|
言語コード2962での推奨CCSID
|
|
DBCS
|
370
|
300
|
|||
|
5035
|
SBCS
|
1172
|
1027
|
|
|
|
DBCS
|
370
|
300
|
|||
|
1399
|
SBCS
|
32000
|
1027
|
言語コード2930での推奨CCSID
|
|
|
DBCS
|
32000
|
300
|
|||
|
943
|
2300
(ASCII)
|
SBCS
|
32000
|
897
|
Windowsや一部のUNIXで使用されているいわゆるシフトJIS
|
|
DBCS
|
32000
|
941
|

当然ながら従来の言語コード2962も引き続き発注・利用が可能である。LPARで環境を分離したり、二次言語として任意の言語コードを導入したりできるので、これらの機能を活用して複数の言語環境を用意した段階的な移行もできる。
System i(i5/OS)は多くの場合に出荷時の言語設定のままで利用できるが、本来ユーザーがソリューションに適した言語環境を設定し、正しい組み合わせで利用すべきである。基本的に言語コードが2930であれば、システム値QCCSIDを1399に、端末のホスト・コード・ページを1399(またはそれに相当する値)に設定する。CCSID-1399に対応しない古い端末が存在する場合は更改が必要であろう。
●移行作業
既存の言語コード2962(CCSID-5026)から新しい言語コード2930(CCSID-1399)に移行するには、データベースやソース・コードの変換 およびオブジェクトの再作成などの作業が発生する。一次言語を変更しても、システムが自動的にオブジェクト内に記録された文字コードの変換を行うわけではない。ユーザーがCPYFコマンドなどで文字コードの変換を実施する必要がある。
まとめ
これまで述べた様に、新しい言語コード2930は下記の様な用途に有効と言える。
• i5/OS上でWebSphere Application ServerやDomino、HTTPサーバー、PASE(PHPやPerlなどAIXアプリケーションの動作環境)、Javaなどのオープン系ソリューションを利用
• Windowsサーバー、UNIX、他社製汎用機からi5/OSへの移行や、これらの混在環境でのSystem iの活用
「iSeries アプリケーション・イノベーション・ロードマップ」 (脚注17) で述べられている様に、今後はオープン系のソリューションがさらに重要性を増すと考えられる。将来的にi5/OSが言語コードとしてISO/IEC 10646 (脚注18) あるいはUnicode (脚注19) をサポートする可能性はあるが、しばらくは言語コード2930がこれらソリューションの普及と歩を合わせて広まって行くであろう。V5R4を導入する際には最適な言語コード環境についても再確認する事をお勧めする。
機会があれば具体的な移行方法や注意点などを書きたいと思っていますが、いつになることやら...
ここに書かれている内容は私の所属する会社、組織とは関係ありません。 内容を誰かが保証する物ではありません。
この記事にはトラックバック・コメントがありません。
コメントは投稿者の責任においてなされるものであり,サイト管理者は責任を負いません。
当フォーラムの「ライブラリ」コーナーにある「CCSID について」も、ぜひ理解の参考にご参照いただけるとうれしいです。
もう端的に「ユニコード使いたかったら 2930」とか「メインが 5250 アプリケーションじゃなかったら 2930」とか言ってしまった方がわかりやすいような気もしますね。間違いではないと思いますし。