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
 
 

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

CESD-S-0091

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