コード化文字セットと呼ばれるCCSID とはSystem iだけではなく、すべてのコンピューターに定義されている
文字コードのセットのことです。
通常、System iを導入したときの CCSID の値は DSPSYSVAL QCCSID
で見るとCCSID = 65535 になっている
はずです。CCSID = 65535 とは 「任意のCCSIDが使用可」 という意味で CCSIDは固定されていない ことに
なります。
しかし一次言語が日本語であるSystem iでは言語コードによって、起動したJOBのCCSIDは
「5026」(日本語半角カナ優先) となります。
このことは DSPJOB
によって確認することができます。
下記はその画面です。
ジョブ定義属性表示 システム : S103NG3M ジョブ : QPADEV0002 ユーザー : QTR 番号 : 094239 印刷キー形式 . . . . . . . . . . . . . . . . . . : *PRTHDR 分類順序 . . . . . . . . . . . . . . . . . . . . : *HEX ライブラリー . . . . . . . . . . . . . . . . . : 言語識別コード . . . . . . . . . . . . . . . . . : JPN 国または領域 ID . . . . . . . . . . . . . . . . . : JP コード化文字セット識別コード . . . . . . . . . . : 65535 省略時のコード化文字セット識別コード . . . . . . : 5026 文字識別コード制御 . . . . . . . . . . . . . . . : *DEVD ジョブ・メッセージ待ち行列の最大サイズ . . . . . : 16 ジョブ・メッセージ待ち行列満杯時の処置 . . . . . : *NOWRAP マルチスレッド可能 . . . . . . . . . . . . . . . : *NO 補助記憶域プール・グループ . . . . . . . . . . . : *NONE スプール・ファイル処置 . . . . . . . . . . . . . : *KEEP
さて、Java の開発やHTTPサーバーの設定を行うには 英小文字の入力が頻繁に必要となりますので、
CCSID = 5026 ではなく、CCSID = 5035 を使用する必要があります。
そこで、CHGJOB
によって一時的に CCSID を変更してから、またCCSID = 5026 に戻す操作が必要になります。
これには少しコツが要ります。
例えば、
CHGJOB CCSID(5035) ..... (Webコマンドなどの処理) ..... CHGJOB CCSID(5026) CHGJOB CCSID(65535)
という打鍵が必要になります。
今後、WRKHTTPCFG
、WRKLNK
、STRQSH
、WRKENVVAR
... など多くのWeb開発にかかわるコマンドの使用は
この方法が必要ですので覚えておいてください。
もちろん CCSID = 5035 のユーザー・プロフィールを作ってしまってもよいのですが他のSystem iを
操作するときに忘れがちになりますので、日ごろからこの方法を使用するほうが良いでしょう。
以外と知られていない場合がありますので、ご紹介しておきますが、PCOMMでのエミュレータ画面で
英小文字が半角カナに化けて表示される場合があり、それが障害であると慌ててしまう場合がありますが、
このような表示は
Ctrl
+ F3 キー
によって簡単に切り替えることができます。
正しい CCSID
で処理中であっても、Appによっては表示が逆になっている場合もあります。
「Ctrl + F3キー」は頻繁に使用することになりますので是非、覚えておいてください。