back to the browser. You must provide data to a CGI program through
environment variables and standard-input (stdin). HTTP and HTML specifications
allow you to tag text data with a character set (charset parameter on the
Content-Type header). However, this practice is not widely in use today (although
technically required for HTTP1.0/1.1 compliance). According to this specification,
text data that is not tagged can be assumed to be in the default character set
ISO-8859-1 (US-ASCII). AS/400 correlates this character set with ASCII CCSID 819.
There are basically three different ways the server can process the input to and
output from your CGI program. You can configure the server to control which
mode is used by specifying an overall server directive (CGIConvMode) or an
optional parameter on the Exec or Post-Script script directives:
CGIConvMode Mode
Exec request-template program-path [server-IP-address or hostname] [Mode]
Post-Script program_path_and_name [server-IP-address or hostname] [Mode]
Where Mode is one of the following:
%%MIXED%% or %%MIXED/MIXED%% This is the default.
%%EBCDIC%% or %%EBCDIC/MIXED%%
%%EBCDIC/EBCDIC%%
%%BINARY%% or %%BINARY/MIXED%%
%%BINARY/EBCDIC%%
%%BINARY/BINARY%%
%%EBCDIC_JCD%% or %%EBCDIC_JCD/MIXED%%
%%EBCDIC_JCD/EBCDIC%%
The CGIMode can be thought of as 2 logical pieces. The input mode and output
mode. They are separated by the ″/″. If only the input mode is provided, the
output mode is defaulted to MIXED for compatibility.
In addition, the system provides the following CGI environment variables to the
CGI program:
v CGI_MODE - which input conversion mode the server is using (%%MIXED%%,
%%EBCDIC%%, %%BINARY%%, or %%EBCDIC_JCD%%).
v CGI_ASCII_CCSID - from which ASCII CCSID was used to convert the data
v CGI_EBCDIC_CCSID - which EBCDIC CCSID the data was converted into
v CGI_OUTPUT_MODE - which output conversion mode the server is using
(%%MIXED%%, %%EBCDIC%%, or %%BINARY%%)
The following section explains CGI input conversion modes in more detail.
CGI Input Conversion Modes
MIXED
This mode is the default mode of operation for the server. The system
converts values for CGI environment variables to EBCDIC CCSID 37,
including QUERY_STRING. The system converts stdin data to the CCSID
of the job. However, the system still represents the encoded characters
“%xx” by the ASCII 819 octet. This requires the CGI program to convert
these further into EBCDIC to process the data. For more information, see
symptom, Special characters are not being converted or handled as expected in
“Chapter 10. Troubleshooting your CGI programs” on page 139.
EBCDIC
6 Web Programming Guide V4R5