Перекодировать текст из ISO-8859-9 ↓
Первая попытка дать турецкому языку место в международном стандарте выглядела как компромисс. Кодировка ISO-8859-3, утверждённая в 1988 году, должна была обслуживать сразу турецкий, мальтийский и эсперанто, но турецким пользователям она не подошла. Уже в 1989 году появилась девятая часть стандарта ISO-8859, предназначенная специально для турецкого языка. Она получила второе имя Latin-5 и стала основной турецкой кодировкой в мире Unix, электронной почты и интернета.
Создатели Latin-5 пошли самым простым путём. Они взяли западноевропейскую Latin-1 и заменили в ней шесть символов, которые для турецкого языка были не нужны. Исландские буквы "Ð", "ð", "Ý", "ý", "Þ" и "þ" уступили место турецким "Ğ", "ğ", "İ", "ı", "Ş" и "ş". Все остальные символы остались на тех же местах. Поэтому Latin-5 подходит не только для турецкого, но и для большинства западноевропейских языков, кроме исландского.
Такое решение сделало кодировку очень удобной. Тексты на английском, французском или немецком выглядели в Latin-5 так же, как в Latin-1, и турецкие пользователи могли свободно работать с документами из других стран. Позднее Microsoft построила свою кодировку Windows-1254 по тому же принципу, и турецкие буквы оказались в ней на тех же позициях, что и в Latin-5.
Различия между Latin-5 и Windows-1254 сводятся к диапазону с 128 по 159. В стандарте ISO там находятся управляющие коды, а Microsoft поместила туда изогнутые кавычки, тире, многоточие и знак евро. Поэтому обычный турецкий текст выглядит в обеих кодировках одинаково, а различия проявляются только в типографских символах. Многие программы и браузеры обрабатывают метку "iso-8859-9" как Windows-1254, чтобы такие символы отображались правильно.
Ошибка при чтении Latin-5 как Latin-1 затрагивает те же шесть букв. Слово "Işık", то есть "свет", превращается в "Iþýk": буква без точки становится "ý", а "ş" превращается в исландскую "þ". Заглавная "İ" с точкой превращается в "Ý", а "ğ" становится "ð". Такие замены легко узнать, если знать, что турецкие и исландские буквы занимают в двух кодировках одни и те же места.
Особое место в истории Latin-5 занимает буква "ı". В турецком языке заглавная пара строчной "i" пишется с точкой, а заглавная "I" соответствует строчной "ı" без точки. Программы, которые переводят текст в другой регистр без учёта языка, нарушают эти правила, и турецкие слова начинают писаться с ошибками. Обратная проблема, когда программы применяют турецкие правила к английскому тексту, известна среди разработчиков как "турецкая проблема".
Сегодня турецкие сайты и системы работают в UTF-8, но Latin-5 встречается в старых документах, почтовых архивах, базах данных и конфигурационных файлах. Если в турецком тексте вместо букв "ş", "ğ" и "ı" стоят исландские "þ", "ð" и "ý", укажите ISO-8859-9 исходной кодировкой и преобразуйте текст в UTF-8.