Перекодировать текст из Windows-874 ↓
Тайская письменность происходит от древнеиндийских алфавитов и выглядит совсем не так, как европейские. В тайском алфавите 44 согласные буквы, гласные пишутся над, под, перед или после согласной, а над буквами могут стоять знаки тона. Пробелы в тайском тексте ставятся не между словами, а только между фразами. Всё это делает тайский язык непростой задачей для компьютеров, и кодировка Windows-874 стала основным способом записи тайского текста в Windows.
Основой для Windows-874 послужил тайский национальный стандарт TIS-620, утверждённый в 1990 году. Он размещает тайские буквы, гласные, знаки тона и тайские цифры в верхней половине таблицы, а нижняя половина, как обычно, совпадает с ASCII. Microsoft добавила к TIS-620 несколько типографских символов в диапазоне с 128 по 159: многоточие, изогнутые кавычки, тире и знак евро. Тайские буквы при этом остались на своих местах.
Стандарт TIS-620 почти без изменений вошёл и в международную систему стандартов под именем ISO-8859-11. Поэтому тайский текст в Windows-874, TIS-620 и ISO-8859-11 выглядит одинаково, а различия касаются только дополнительных символов Microsoft. Позднее тайский блок в Юникоде был построен на основе TIS-620, и порядок символов в нём сохранён.
Как и в других письменностях с надстрочными знаками, в тайском тексте гласные и знаки тона хранятся отдельными символами. Программа отображения должна правильно расположить их над или под согласной. Если шрифт или программа не поддерживают тайский язык, знаки могут оказаться не на месте или налезать друг на друга. Кроме того, из-за отсутствия пробелов между словами переносы строк и поиск слов в тайском тексте требуют специальных словарей.
Ошибка при чтении тайского текста в другой кодировке выглядит характерно. Слово "สวัสดี", то есть "здравствуйте", записанное в Windows-874 и открытое как Windows-1252, превращается в "ÊÇÑÊ´Õ". При чтении в Windows-1251 получается "КЗСКґХ". А если текст в UTF-8 прочитать как Windows-874, каждая тайская буква превращается в два или три символа, и в строке появляются повторяющиеся сочетания вроде "เธ". Например, слово "ไทย", то есть "тайский", превращается в "เนเธ—เธข".
Последний случай особенно коварен: на экране остаются тайские буквы, и человек, не знающий языка, может не заметить ошибки. Однако носитель языка сразу увидит, что текст состоит из бессмысленных повторяющихся слогов.
Сегодня тайские сайты работают в UTF-8, но Windows-874 и TIS-620 встречаются в старых документах, базах данных и программах. Если в тексте вместо тайских букв стоят латинские буквы с акцентами или кириллица, укажите Windows-874 исходной кодировкой и преобразуйте текст в UTF-8.