Back to Character Encoding

Windows-1250 Windows-1250 (CP-1250, Central European) Windows Code Pages

The Windows-native Central European code page — the practically dominant encoding for Polish, Czech, Hungarian and related languages on Windows systems.

What it is

Windows-1250 is Microsoft's Central European code page, the practical real-world counterpart to ISO-8859-2 — same relationship pattern as Windows-1252 to Latin-1. It covers Polish, Czech, Slovak, Hungarian, Slovenian, Croatian, and Romanian, and was the dominant encoding for Central European text specifically on Windows systems before UTF-8 became standard.

Byte structure

Byte range Content
0x00–0x7F Identical to ASCII
0x80–0x9F Printable characters (curly quotes, dashes, etc.) — the range ISO-8859-2 leaves as unused control codes
0xA0–0xFF Largely shared with ISO-8859-2's Central European accented letters, with some differences

Why your text is garbled (symptom → cause)

Symptom Likely cause
Central European accented letters mostly correct, but quotes/dashes wrong Windows-1250 vs. ISO-8859-2 confusion — the two differ mainly in the 0x80–0x9F range
Text correct on Windows, garbled after export to Unix/web systems Windows-1250 was assumed by the source, but the destination expected UTF-8 or ISO-8859-2

Compatibility & gotchas

  • The Windows-native counterpart to ISO-8859-2, and the more commonly deployed of the two in real-world Central European Windows software historically.
  • Word/Outlook smart-quote substitution applies here the same way it does for Windows-1252 — AutoCorrect's curly quotes and dashes are Windows-125x-family characters that can mismatch if text moves through a system expecting a different encoding.

Fixing it

  • Command-line conversion: iconv -f WINDOWS-1250 -t UTF-8 input.txt -o output.txt

Comparison

Encoding Key difference from Windows-1250
ISO-8859-2 Same base accented-letter coverage, but leaves the 0x80–0x9F range as unused control codes instead of printable characters
UTF-8 Full Unicode coverage, the modern default

FAQ

Is Windows-1250 the same as ISO-8859-2?

Nearly, but not quite — they share most accented-letter assignments but differ in the 0x80–0x9F range, the same pattern seen between Windows-1252 and Latin-1.

Fun fact

The Windows-125x code page family (1250 through 1258) all follow the same basic design pattern established by Windows-1252 — take a corresponding ISO-8859 base, then fill the unused 0x80–0x9F control-code range with useful printable characters — making them a consistent, if occasionally confusing, sibling set for developers working across multiple regions.