Building Chinese Web Sites using PHP
Dr. Herong Yang, Version 2.11

Processing Chinese Input on Web Forms in Big5

This section describes how to display a Web form and process form Chinese input data in Big5.

The next text I did is about Web form input in Chinese using Big5 encoding. The test PHP script has the following features:

  • A HTML header tag <meta> is used to set the Web page with charset=big5 for Big5 encoding.
  • A default input text is provided with some simplified Chinese characters in Big5 encoding. Since this book is using UTF-8 encoding, the Big5 encoded characters are displayed as question marks in the source code below.
  • The received text from the $_REQUEST array is displayed back on the returning Web page as encoded characters. The received text is also displayed in Hex values to compare with the HEX values of the default text.
<?php #Web-Form-Input-Chinese-Big5.php
# Copyright (c) 2007 by Dr. Herong Yang, http://www.herongyang.com/
#
  print('<html><head>');
  print('<meta http-equiv="Content-Type"'.
    ' content="text/html; charset=big5"/>');
  print('</head><body>'."\n");

# Default input text
  $input = '???';
  $input_hex = 'B971B5F8BEF7'; 

# Form reply determination
  $reply = isset($_REQUEST["Submit"]);

# Process form input data
  if ($reply) {
    if (isset($_REQUEST["Input"])) {
      $input = $_REQUEST["Input"];
    }
  }

# Display form
  print('<form>');
  print('<input type="Text" size="40" maxlength="64"'
   . ' name="Input" value="'.$input.'"/><br/>');
  print('<input type="Submit" name="Submit" value="Submit"/>');
  print('</form>'."\n");

# Display reply
  if ($reply) {
    print('<pre>'."\n");
    print('Content-Type:'."\n");
    print('  text/html; charset=big5'."\n");
    print('You have submitted:'."\n");
    print('  Text = '.$input."\n");
    print('  Text in HEX = '.strtoupper(bin2hex($input))."\n");
    print('  Default HEX = '.$input_hex."\n");
    print('</pre>'."\n");
  } 

  print('</body></html>');
?>

After moving this PHP script file to Apache server document directory, I tested it with Internet Explorer (IE) with this URL: http://localhost/Web-Form-Input-Chinese-Big5.php. I saw a Web page with a form that has the suggested input text and a submit button.

The default input Chinese characters were displayed correctly.

After clicking the submit button, I saw a returning Web page with the same form and a reply section. The Chinese input characters were received by PHP correctly:
Processing Web Form Chinese Input in Big5

It is interesting to note that the return Web page has a special URL which contains the input text inside the query string. The Chinese characters are included as Hex values of Big5 byte sequences:

http://localhost/Web-Form-Input-Chinese-Big5.php
  ?Input=%B9q%B5%F8%BE%F7&Submit=Submit

Conclusion: IE handles Chinese input text in Big5 encoding correctly. PHP receives Chinese input text in Big5 encoding from Web forms correctly.

Sections in This Chapter

Steps and Components Involved

Processing Chinese Input on Web Forms in UTF-8

Processing Chinese Input on Web Forms in GB18030

Processing Chinese Input on Web Forms in Big5

Copying and Pasting Chinese Input to UTF-8 Web Forms

Copying and Pasting Chinese Input to GB18030 Web Forms

Copying and Pasting Chinese Input to Big5 Web Forms

Dr. Herong Yang, updated in 2007
Processing Chinese Input on Web Forms in Big5