In this mode, the server will convert everything into the EBCDIC CCSID of the job. The server checks the Entity bodies for a charset tag. If found, the server will convert the corresponding ASCII CCSID to the EBCDIC CCSID of the job. If the server does not find a charset tag, it uses the value of the DefaultNetCCSID configuration directive as the conversion CCSID. In addition, the system converts escaped octets from ASCII to EBCDIC, eliminating the need to perform this conversion in the CGI program.

BINARY

In this mode, the server processes environment variables (except

QUERY_STRING) the same way as EBCDIC mode. The server performs no conversions on either QUERY_STRING or stdin data.

EBCDIC_JCD

Japanese browsers can potentially send data in one of three code pages, JIS (ISO-2022-JP), S-JIS (PC-Windows), or EUC (UNIX). In this mode, the server uses a well-known JCD utility to determine which codepage to use (if not explicitly specified by a charset tag) to convert stdin data.

Table 1 summarizes the type of conversion that is performed by the server for each CGI mode.

Table 1. Conversion action for text in CGI Stdin.

CGI_MODE

Conversion

Stdin

Environment

Query_String

argv

 

 

encoding

variables

encoding

encoding

 

 

 

 

 

 

%%BINARY%%

None

No conversion

FsCCSID

No conversion

No

 

 

 

 

 

conversion

 

 

 

 

 

 

%%EBCDIC%%

NetCCSID to

FsCCSID

FsCCSID

FsCCSID

FsCCSID

 

FsCCSID

 

 

 

 

 

 

 

 

 

 

%%EBCDIC%% - with

Calculate target

EBCDIC

FsCCSID

FsCCSID

FsCCSID

charset tag received

EBCDIC CCSID

equivalent of

 

 

 

 

based on received

received

 

 

 

 

ASCII charset tag

charset

 

 

 

 

 

 

 

 

 

%%EBCDIC_JCD%%

Detect input based

FsCCSID

FsCCSID

Detect ASCII

Detect ASCII

 

on received data.

 

 

input based on

input based

 

Convert data to

 

 

received data.

on received

 

FsCCSID

 

 

Convert data to

data. Convert

 

 

 

 

FsCCSID

data to

 

 

 

 

 

FsCCSID

 

 

 

 

 

 

%%MIXED%%

NetCCSID to

FsCCSID with

CCSID 37

CCSID 37 with

CCSID37 with

(Compatability mode)

FsCCSID (receive

ASCII escape

 

ASCII escape

ASCII escape

 

charset tag is

sequences

 

sequences

sequences

 

ignored)

 

 

 

 

 

 

 

 

 

 

DBCS Considerations

URL-encoded forms containing DBCS data could contain ASCII octets that represent parts of DBCS characters. The server can only convert non-encoded character data. This means that it must un-encode the double-byte character set (DBCS) stdin and QUERY_STRING data before performing the conversion. In addition, it has to reassemble and re-encode the resulting EBCDIC representation before passing it to the CGI program. Because of this extra processing, CGI programs that you write to handle DBCS data may choose to receive the data as BINARY and perform all conversions to streamline the entire process.

Chapter 1. Writing Common Gateway Interface Programs 7

Page 17
Image 17
IBM AS/400E manual Binary, Ebcdicjcd

AS/400E specifications

The IBM AS/400E, now more commonly known as IBM i, is a robust and versatile midrange server that has been designed to provide a comprehensive computing solution for businesses of all sizes. First introduced in the late 1980s, the AS/400 series has undergone multiple enhancements and rebranding, with the AS/400E being one of the notable iterations. This powerful platform is closely associated with IBM's commitment to reliability, scalability, and integrated business solutions.

One of the main features of the AS/400E is its highly integrated architecture that combines hardware and software into a cohesive system. This integration allows for seamless operations, reducing the complexity typically associated with managing disparate systems. The system is powered by IBM's proprietary OS/400 operating system, which has evolved into IBM i, featuring advanced capabilities like object-oriented programming, integrated database management, and security features that are essential for enterprise environments.

A key characteristic of the AS/400E is its robust database support, primarily through the use of DB2 for i. This integrated database management system enables efficient data handling and retrieval, facilitating real-time business analytics and reporting. Furthermore, the platform supports a variety of programming languages, including RPG, COBOL, and Java, making it flexible for developers who require diverse tools for application development.

The AS/400E is also known for its exceptional reliability and uptime, making it a preferred choice for critical business applications in industries such as finance, healthcare, and manufacturing. This reliability is backed by advanced error detection and correction mechanisms, as well as redundancy features that help prevent data loss and minimize downtime.

In terms of scalability, the AS/400E can effortlessly expand to accommodate growing business demands. Organizations can increase processing power by adding more resources without significant disruption. This scalability, combined with the system’s built-in virtualization capabilities, allows businesses to optimize resource usage and streamline operations.

Security is another defining feature of the AS/400E. The platform incorporates various layers of security measures, including user authentication, encryption, and comprehensive auditing capabilities, ensuring that sensitive business data is protected against unauthorized access.

Overall, the IBM AS/400E remains a powerful tool in the enterprise computing landscape, providing businesses with an integrated, reliable, and secure solution for their technological needs. Its enduring popularity is a testament to its capability to evolve with changing business requirements while maintaining its core attributes of high performance and stability.