EUC-KR EUC-KR (Extended Unix Code, Korean) Legacy & Platform-Specific
The historically dominant legacy Korean text encoding — still appears in older Korean-language databases, documents, and software.
What it is
EUC-KR (Extended Unix Code, Korean variant) is a variable-width encoding for Korean text, historically the dominant encoding for Korean-language computing before UTF-8 became standard. Unlike the Shift-JIS/EUC-JP rivalry in Japanese text encoding, EUC-KR faced comparatively less direct platform-driven competition — it was widely used across both Unix and Windows Korean-language contexts, making it a somewhat more consistent legacy choice than its Japanese counterparts.
Byte structure
| Byte pattern | Length | Content |
|---|---|---|
| 0x00–0x7F | 1 byte | ASCII-compatible range |
| Two high-bit-set bytes | 2 bytes | Hangul syllables (precomposed Korean characters) and Hanja (Chinese characters used in Korean text) |
Why your text is garbled (symptom → cause)
| Symptom | Likely cause |
|---|---|
| Korean text shows as unrelated symbols/boxes | EUC-KR being read as UTF-8 or another encoding, or vice versa |
| Older Korean-language database exports garbled after modern import | Legacy EUC-KR data needing explicit conversion to UTF-8 |
| Some Hangul syllables correct, others garbled or missing | EUC-KR's precomposed-syllable coverage doesn't include every theoretically possible Hangul combination — extended variants (like the Windows-specific CP949) added more, so a strict EUC-KR decoder may not cover characters a CP949-aware one would |
Compatibility & gotchas
- Windows extended EUC-KR with CP949 (UHC), adding coverage for additional Hangul syllable combinations that standard EUC-KR doesn't include — text using those extra characters needs a CP949-aware decoder specifically, not strict EUC-KR.
- Less fragmented than Japanese legacy encodings — EUC-KR didn't face the same intense Unix-vs-Windows split that produced the Shift-JIS/EUC-JP rivalry, making Korean legacy text somewhat more predictable to work with, though the CP949 extension caveat still applies.
- Largely superseded by UTF-8 in current Korean-language software, though legacy EUC-KR data persists in older systems.
Fixing it
- Command-line conversion:
iconv -f EUC-KR -t UTF-8 input.txt -o output.txt(tryCP949instead if standard EUC-KR fails to decode certain characters)
Comparison
| Encoding | Key difference from EUC-KR |
|---|---|
| CP949 (UHC) | Windows extension of EUC-KR with additional Hangul syllable coverage |
| UTF-8 | Full Unicode coverage, the modern default |
FAQ
What's the difference between EUC-KR and CP949?
CP949 (also called UHC, Unified Hangul Code) is a Windows-specific extension of EUC-KR that adds coverage for additional Hangul syllable combinations not present in the original EUC-KR character set. Text using those extra characters needs CP949-aware decoding.
Is EUC-KR still used today?
Rarely for new development — UTF-8 is standard — but it persists in older Korean-language databases, documents, and legacy enterprise software.
Fun fact
Korean's Hangul writing system is unusual among the world's major scripts in being a featural alphabet deliberately designed (in the 15th century, under King Sejong) with a highly systematic structure — a design quality that made encoding Hangul as precomposed syllable blocks in EUC-KR comparatively more tractable than encoding scripts with less systematic character composition rules.