Web開発のための基礎知識

CCSID への再考

IBM は System i をWebサーバーとするには CCSID = 5035 を強く推薦します。
これは WebSphereApache サーバーが CCSID = 5035 でしか動作しないからです。

ところが システム値の QCCSID を 5035 に変更してしまうと、日常これまで使用してきた基幹業務の
半角カナ文字はすべて 文字化け となり、たちまち日常業務は停止に追い込まれてしまいます。

しかし このHTTP構成で DefaultFsCCSID 5035 を指定すればシステム値は CCSID = 5026 であっても、
HTTPサーバーだけが CCSID = 5035 で稼動するように思われがちですが、HTTPサーバーは多くの
ユーザーからのアクセスがあったときには更に新しいスレッドを生成します。
このときHTTP構成のCCSIDではなく、システム値のCCSIDによってスレッドが生成 されてしまいます
ので、やはり新しいスレッドは5026 となってしまいます。

もちろんこれはIBMオリジナルHTTPサーバーのバグなのですが、IBM はこれを回避するためにもう一台、
CCSID = 5035 専用の System i を新規に購入して用意するように勧めます。
これが既存の日本語環境の System i をWebサーバー化できない理由です。

また IBMオリジナルHTTPサーバーではPOST命令に対して漢字の入力の文字化けが発生します。
IBM は V5R1M0 時点で IBM オリジナル HTTP サーバーはこれ以上リリース・アップしないと明言して
いますので今のところ、これらの問題をIBM オリジナル HTTP サーバーでは避けることができません。

これに対して EnterpriseServer が提供するHTTPサーバーである「Alaska」 は完全にOS/400日本語環境を
サポートしており、漢字の文字化けも発生しません。CCSID = 5026 で今お使いの日本語環境で CGI を
完全に動作させることができるのは「Alaska」だけ です。