Windows-874 Windows-874 (CP-874, Thai) Windows Code Pages
The Windows-native Thai code page — nearly identical to ISO-8859-11 and closely based on the TIS-620 national standard.
What it is
Windows-874 is Microsoft's Thai code page, extremely close to ISO-8859-11 and, like it, based closely on the TIS-620 Thai national standard. Following the familiar Windows code page pattern, it adds a handful of printable characters in the 0x80–0x9F range that the ISO variant leaves unassigned.
Byte structure
| Byte range | Content |
|---|---|
| 0x00–0x7F | Identical to ASCII |
| 0x80–0x9F | A small number of additional printable characters |
| 0xA0–0xFF | Thai consonants, vowels, and tone marks, matching ISO-8859-11/TIS-620 |
Why your text is garbled (symptom → cause)
| Symptom | Likely cause |
|---|---|
| Thai text mostly correct with a few unexpected symbols | Windows-874 vs. ISO-8859-11 confusion in the narrow 0x80–0x9F range |
| Vowel/tone marks appear detached from consonants | Rendering/shaping issue, not an encoding problem — Thai's stacking diacritics need font/shaping support |
Compatibility & gotchas
- Extremely close to both ISO-8859-11 and TIS-620 — differences are minor and rarely cause significant real-world confusion compared to encoding pairs with larger divergences.
- Correct decoding doesn't guarantee correct rendering — same caveat as ISO-8859-11; Thai's combining vowel/tone marks need proper font and shaping support separate from character decoding.
Fixing it
- Command-line conversion:
iconv -f WINDOWS-874 -t UTF-8 input.txt -o output.txt
Comparison
| Encoding | Key difference from Windows-874 |
|---|---|
| ISO-8859-11 | Near-identical, minor differences in the 0x80–0x9F range |
| TIS-620 | The original Thai national standard both this and ISO-8859-11 closely follow |
| UTF-8 | Full Unicode coverage, the modern default |
FAQ
Is Windows-874 the same as ISO-8859-11?
Nearly identical — differences are limited to a small number of additional printable characters Windows-874 adds in the 0x80–0x9F range.
Fun fact
Windows-874's unusually close alignment with both TIS-620 and ISO-8859-11 (compared to how much other Windows-125x code pages diverge from their ISO counterparts) reflects how mature and well-established the TIS-620 Thai national standard already was by the time Windows needed its own Thai code page — leaving little room or need for meaningful divergence.