Если в документе на Mac отображаются искаженные символы с диакритикой, знаки замены или текст, похожий на несвязанные символы, сначала проверьте, не является ли он обычным текстовым файлом, который считывается с неверной кодировкой. В TextEdit откройте копию заново, используя другую кодировку простого текста, и сравните затронутые фрагменты. Если текст по-прежнему выглядит некорректно, причиной может быть другой формат файла, отсутствие шрифта или повреждение; смена кодировки не является универсальным решением.

Как выглядит проблема с кодировкой

Текстовый файл сохраняет символы в виде байтов. Кодировка сопоставляет эти байты с читаемыми символами. Если приложение интерпретирует байты, используя кодировку, отличную от той, в которой они были сохранены, результатом может стать кракозябры (модзибаке): узнаваемый текст может превратиться в странные символы или последовательности некорректных знаков. Консорциум Unicode отмечает, что текст в формате Unicode может быть представлен в таких форматах, как UTF-8 и UTF-16, и что некорректные данные UTF-8 могут вызывать ошибку или символ замены. Unicode’s UTF-8, UTF-16, UTF-32 & BOM FAQ

Обратите внимание на закономерности: обычный английский текст может оставаться неповрежденным, в то время как буквы с диакритикой или нелатинская письменность отображаются с ошибками, поскольку для этих символов могут использоваться другие последовательности байтов. Ромб с вопросительным знаком или череда символов могут указывать на то, что программе чтения не удалось декодировать некоторые данные. Эти признаки указывают на проблему декодирования; сами по себе они не определяют исходную кодировку.

Сначала определите, какой тип файла перед вами

Выбор кодировки в TextEdit применяется к файлам обычного текста (plain text). Перед устранением неполадок обратите внимание на расширение файла и на то, как документ открывается. Такие файлы, как .txt, .csv или файлы с исходным кодом, часто являются простым текстом, но одно лишь расширение не доказывает формат файла. Документ Word, PDF или документ с форматированным текстом (rich text) имеют структуру и форматирование, выходящие за рамки простого текста. Apple перечисляет форматы, которые может открывать TextEdit, и проводит различие между форматированным и простым текстом. Apple’s TextEdit document guide

Если проблема возникает только в одном приложении, попробуйте открыть этот же файл в другой подходящей программе, желательно без сохранения изменений. Если там он отображается корректно, дело может быть в отображении или механизме импорта первого приложения. Если он отображается неправильно в нескольких приложениях, проблема может заключаться в кодировке или содержимом самого файла. Другой шрифт может привести к отсутствию глифов, но обычно не превращает весь фрагмент текста в систематически искаженный набор символов.

Сравнение кодировок в TextEdit без перезаписи файла

  1. Создайте дубликат файла в Finder и используйте его для диагностики. Сохраняйте оригинал без изменений во время сравнения вариантов; сохранение файла после ошибочной интерпретации может усложнить восстановление.
  2. Откройте TextEdit, выберите Файл > Открыть и выберите дубликат, пока не открывая его.
  3. Нажмите Параметры в диалоговом окне открытия. В разделе Кодировка текстового файла выберите кодировку и нажмите Открыть. Apple документирует эту настройку для отдельных файлов и сообщает, что вы можете воспользоваться пунктом Настроить список кодировок, если нужный вариант не отображается. Apple’s instructions for incorrectly displayed characters
  4. Каждый раз сравнивайте один и тот же короткий, знакомый фрагмент: имена, слова с диакритикой, знаки препинания и окружающее предложение. Подходящий вариант должен последовательно восстанавливать читаемые слова, а не просто заменять один странный символ другим.
  5. Если источник известен (например, файл экспортирован определенной системой), используйте задокументированную для нее кодировку в качестве следующего кандидата. Если такой информации нет, попробуйте небольшое количество вероятных вариантов и рассматривайте любое кажущееся улучшение как гипотезу, пока текст не станет осмысленным целиком.

Изменение кодировки для всех файлов доступно по пути TextEdit > Настройки > Открытие и сохранение в разделе Кодировка текстового файла. Не меняйте это значение по умолчанию при диагностике одного документа: это изменит способ, которым TextEdit открывает и другие файлы обычного текста. Apple’s TextEdit settings guide

Когда смена кодировки не помогает

Если каждый выбранный вариант приводит к нечитаемому или несогласованному тексту, прекратите перебирать параметры. Возможно, файл не является простым текстом, поврежден, неполон или содержит текст, который был испорчен еще до того, как вы его получили. Узнайте у отправителя или в исходном приложении, какой формат и кодировка использовались, и по возможности запросите свежий экспорт. Неправильная кодировка может исказить неповрежденные байты при отображении; восстановить символы, которые были утеряны или заменены ранее, она не может.

Если проблема ограничивается одним символом, сравните его отображение в другом приложении и проверьте, содержит ли выбранный шрифт этот символ. Если документ представляет собой PDF, файл Word или другой форматированный документ, используйте приложение, подходящее для этого формата, а не конвертируйте его в простой текст в качестве быстрого способа диагностики. Команда TextEdit Формат > Конвертировать в простой текст удаляет форматирование, поэтому она не является нейтральным способом проверки оригинала. Apple explains this conversion behavior.

Как только подходящая кодировка сделает копию читаемой, проверьте несколько частей документа, затем сохраните отдельную исправленную копию, только если вам действительно нужен преобразованный файл. Откройте эту копию заново, чтобы убедиться, что она остается разборчивой. Храните нетронутый оригинал до тех пор, пока исправленная версия не будет проверена в приложении или рабочем процессе, где она будет использоваться.

Источники