Перекодировать текст из Windows-1257 ↓
Когда в начале 1990-х годов Латвия, Литва и Эстония обрели независимость, на их компьютерах возникла потребность в национальных кодировках. Латышские и литовские буквы с макронами, гачеками, запятыми и огонеками не помещались ни в одну из существовавших таблиц Windows. Microsoft создала для этих языков кодовую страницу 1257, которую называют балтийской. Она стала основной кодировкой стран Балтии на персональных компьютерах.
Windows-1257 устроена по общему для Windows принципу: нижняя половина повторяет ASCII, а верхняя содержит национальные буквы и типографские символы. В ней есть все буквы латышского, литовского и эстонского алфавитов, а также буквы польского, финского, шведского, датского и немецкого языков. Изогнутые кавычки, тире, знак евро и другие типографские символы стоят на тех же местах, что и в остальных кодировках Windows.
Литовский язык добавляет кодировке особенностей. В нём есть буквы с огонеком "ą", "ę", "į", "ų", буква "ė" с точкой сверху, а также "č", "š" и "ž" с гачеком. Латышский требует букв с макроном, черточкой над гласной, обозначающей долготу звука, и мягких согласных "ģ", "ķ", "ļ", "ņ" с запятой снизу. Все эти символы в Windows-1257 есть, хотя и расположены не по алфавиту.
Позднее международный стандарт ISO-8859-13 был создан с оглядкой на Windows-1257, и большинство букв в двух кодировках стоит на одних и тех же местах. Поэтому балтийский текст можно переносить между системами почти без потерь. Различия касаются только диапазона с 128 по 159, где Microsoft поместила типографские символы.
Ошибка при чтении литовского или латышского текста в западноевропейской кодировке узнаётся сразу. Фраза "Ačiū, Šiauliai", записанная в Windows-1257 и открытая как Windows-1252, превращается в "Aèiû, Ðiauliai": буквы с гачеком становятся буквами с другими знаками, а "Š" превращается в исландскую "Ð". Если текст прочитать в Windows-1251, слово "Ačiū" станет "Aиiы", и посреди латинского слова появится кириллица.
Последний случай хорошо знаком жителям стран Балтии, где долгое время на компьютерах одновременно использовались русская и балтийские кодировки. Документ, созданный на компьютере с латышскими настройками, на компьютере с русскими настройками превращался в смесь латиницы и кириллицы, и это было одной из самых частых проблем при обмене файлами.
Сегодня сайты стран Балтии работают в UTF-8, но Windows-1257 встречается в старых документах, базах данных, бухгалтерских программах и выгрузках CSV. Если в литовском или латышском тексте вместо букв с диакритикой стоят буквы с акцентами, исландские символы или кириллица, укажите Windows-1257 исходной кодировкой и преобразуйте текст в UTF-8.