x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 

Changing the default encoding type in Pocket Internet Explorer 4.01 or higher

CESD|200149

Applies To

  • Handheld PC 2000

Overview

This article discusses how to alter the default browser document encoding (the Code Page) under Pocket Internet Explorer 4.01 and higher.

More Info

With the multiple and diverse numbers of languages and alphabet that exist on the Internet today, computers need to be able to represent the correct character onto the screen of any web browser and in any language. The most obvious step in this is a requirement for there to be a compatible font on the computer allowing the web browser to access and draw the correct character to the screen. In the computer the font is one of the last steps involved, behind this front end exists a literal map of character IDs (codes) and the subsequent character that is to be output (this in turn is linked to the applicable character referenced in the font file).

This map of characters is called the CodePage (Character Map being the Mac term). In general the CodePage is an 8-bit (1 byte) table, restricting the number of mapable characters to an upper limit of 256. The CodePage contains the characters which are most frequently used by any particular Alphabet. For example the CodePage on the computer you are using while reading this document will contain a representation of all the character combinations you can see on the keyboard in front of you. In the Western Roman alphabet this is predominantly A-Z, 0-9 and grammatical/punctuation characters (. , - ( ) * & % $ etc.).

If you were to write a document in the Western European CodePage which is designed to correctly render English, French, Spanish, Italian, German, Swedish, Icelandic. Then forcibly display the document using the CodePage designed for the Russian alphabet. The document would fail to render correctly, appearing as a random dispersal of characters throughout the body of the document. Making little to no sense to the reader.

In an attempt to minimise confusion, and to negate the technical need to understand, or even know your local CodePage. Most Operating Systems, word processors and web browsers will automatically attempt to detect the language being used, either by scanning the document, or looking for pointers left by the author. As an example, one of the first pieces of code received by a web browser when requesting any document from the HPC:Factor web server is a line informing the browser that the site is encoded using the Western European alphabet, and to use the appropriate (ISO-8859-1 [Latin1]) CodePage.

There is one notable exception on the Internet with the CodePage limitation of containing only 256 characters. UTF-8 which use 8-bit addressing. Using UTF-8 characters are displayed using between 1 and 4 bytes. (UTF-7, 16 and 32 are also valid CodePages, but these are not generally seen within web browsers, particularly the latter two)

How-to Guide

There are occasions when automatic detection of a web page's intended encoding is unsuccessful, especially when it comes to inexperienced programmers. There are also instances where you may be using a device intended for use in another market which did not ship with your regional CodePage pre-set as default (causing pages with unknown encoding to render in the incorrect CodePage).

WARNING: If you use a Registry Editor incorrectly, you may cause serious problems that may require you to hard reset your Handheld PC back to its factory installed configuration. Edit your Windows CE registry at your own risk.

The following steps require the use of a registry editor. For more information on obtaining a registry editor see CESD-S-0082.

  1. Close all Pocket Internet Explorer sessions
  2. Open your devices registry editor
  3. Navigate through the hierarchy to:
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International
  4. Using the table below, locate your preferred encoding type
  5. Edit the value of the binary value Default_CodePage to match the CodePage (Hex) of your desired CodePage
    e.g. 04 E2 00 00 for Central European Alphabet (Windows)
  6. Create a new Key and name it to match the CodePage (Decimal) value of your required encoding if it doesn't already exist
    e.g. 1250 for Central European Alphabet (Windows)
  7. Enter the new key e.g. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\1250\
  8. Create a new Binary Value named IEFontSize
  9. Set the value data to one of:
    04 00 00 00 - Defaults Browser Text Size to Largest
    03 00 00 00 - Defaults Browser Text Size to Larger
    02 00 00 00 - Defaults Browser Text Size to Medium
    01 00 00 00 - Defaults Browser Text Size to Smaller
    00 00 00 00 - Defaults Browser Text Size to Smallest
  10. Close the registry editor and soft reset your device
Pocket Internet Explorer CodePages (Encoding)
Alphabet Code CodePage (Decimal) CodePage (Hex)
Arabic Alphabet (ISO) iso-8859-6 28596 B4 6F 00 00
Arabic Alphabet (Windows) windows-1256 1256 E8 04 00 00
Baltic Alphabet (ISO) iso-8859-4 28594 B2 6F 00 00
Baltic Alphabet (Windows) windows-1257 1257 E9 04 00 00
Central European (DOS) ibm852 852 54 03 00 00
Central European Alphabet (ISO) iso-8859-2 28592 B0 6F 00 00
Central European Alphabet (Windows) windows-1250 1250 E2 04 00 00
Chinese Simplified (GB2312) gb2312 936 A8 03 00 00
Chinese Simplified (HZ) hz-gb-2312 52936 C8 CE 00 00
Chinese Traditional (Big5) big5 950 B6 03 00 00
Cyrillic Alphabet (DOS) ibm866 866 62 03 00 00
Cyrillic Alphabet (ISO) iso-8859-5 28595 B3 6F 00 00
Cyrillic Alphabet (KOI8-R) koi8-r 20866 82 51 00 00
Cyrillic Alphabet (Windows) windows-1251 1251 E3 04 00 00
Greek Alphabet (ISO) iso-8859-7 28597 B5 6F 00 00
Greek Alphabet (Windows) windows-1253 1253 E5 04 00 00
Hebrew Alphabet (ISO) iso-8859-8 28598 B6 6F 00 00
Hebrew Alphabet (Windows) windows-1255 1255 E7 04 00 00
IA5 (German) DIN_66003 20106 8A 4E 00 00
IA5 (IRV) irv 20105 89 4E 00 00
IA5 (Norwegian) NS_4551-1 20108 8C 4E 00 00
IA5 (Swedish) SEN_850200_B 20107 8B 4E 00 00
Japanese (Auto Select) _autodetect 50932 F4 C6 00 00
Japanese (EUC) x-euc 51932 DC CA 00 00
Japanese (JIS) iso-2022-jp 50220 2C C4 00 00
Japanese (JIS-Allow 1 byte Kana) csISO2022JP 50221 2D C4 00 00
Japanese (JIS-Allow 1 byte Kana) ISO-2022-JP 50222 2E C4 00 00
Japanese (Shift-JIS) shift-jis 932 A4 03 00 00
Korean ks_c_5601 949 B5 03 00 00
Korean (Auto Select) _autodetect_kr 50949 05 C7 00 00
Korean (EUC) euc-kr 51949 ED CA 00 00
Korean (ISO) iso-2022-kr 50225 31 C4 00 00
Latin 3 Alphabet (ISO) iso-8859-3 28593 B1 6F 00 00
Thai (Windows) windows-874 874 6A 03 00 00
Turkish Alphabet windows-1254 1254 E6 04 00 00
Ukrainian Alphabet (KOI8-RU) koi8-ru 21866 6A 55 00 00
Universal Alphabet unicode 1200 B0 04 00 00
Universal Alphabet (Big-Endian) unicodeFEFF 1201 B1 04 00 00
Universal Alphabet (UTF-7) utf-7 65000 E8 FD 00 00
Universal Alphabet (UTF-8) utf-8 65001 E9 FD 00 00
User Defined x-user-defined 50000 50 C3 00 00
Vietnamese Alphabet (Windows) windows-1258 1258 EA 04 00 00
Western Alphabet iso-8859-1 1252 E4 04 00 00
Western Alphabet (ISO) ISO-8859-1 28591 AF 6F 00 00
Western Alphabet (Windows) windows-1252 1252 E4 04 00 00
 
Highlighted Alphabets are the only options available on English devices, other regions may vary.
 

If you make an error with the modifications to the Windows CE CodePage registry settings, Pocket Internet Explorer will be unable to render any page content correctly.

In the event that you are working out the hex equivalent of additional CodePage ID's be aware that the first two byte pair and the second two byte pair are inverted. The bytes 5 through 8 are required for the process to work correctly.
E.g. 04 E4 00 00 (1252) is entered at E4 04 00 00