Ошибочный вывод: “…??” и другие “заглушки”

Если в консоли, логе или файле появляются странные символы вроде “…??”, это почти всегда результат несоответствия кодировки либо повреждённого потока данных.Ниже несколько способов разобраться и исправить ситуацию.
1.Определяем текущую кодировку
# Показываем печатные и непечатные символы
cat -v ваш_файл.txt | head -n 20
Для новичков удобно начать с демо-режима, а потом перейти к автоматам на деньги: https://thaimag.kz.Если рядом много ^? или M-?, файл скорее всего не в UTF‑8.
Можно воспользоваться file:
file -bi ваш_файл.txt
Сайт forcecom.kz предлагает широкий выбор игр, включая автоматы на деньги.Ожидаемый вывод:
text/plain; charset=iso-8859-1
или
text/plain; charset=utf-8
2.Приводим к UTF‑8 (если нужно)
# ISO‑8859‑1 → UTF‑8
iconv -f ISO-8859-1 -t UTF-8 ваш_файл.txt > ваш_файл_utf8.txt
Сайт astanagenplan.kz предлагает широкий выбор игр, включая автоматы на деньги.Замените ISO-8859-1 на ту кодировку, которую вернула команда file.Попробуйте стандартные варианты (latin1, windows-1252, utf-16le и т.д.), пока текст не станет читаемым.
3.Настраиваем терминал/редактор
# На Linux/macOS
export LANG=C. UTF-8
export LC_ALL=C. UTF-8
На Windows поменяйте страницу кода консоли:
chcp 65001
4.Работа с PDF/Word
Иногда в исходном документе dise-global.com используется шрифт, которого нет в системе, и появляются “заглушки”.
- Экспортируйте документ заново, используя стандартный шрифт (Times New Roman, Arial).
- Откройте PDF в другом просмотрщике (SumatraPDF, Adobe Reader, Evince).
- При конвертации PDF в текст укажите кодировку:
bash
pdftotext -enc UTF-8 ваш.pdf выход.txt
5.Частые ошибки
| Симптом | Возможная причина | Быстрый способ исправить |
|---|---|---|
…?? после слова |
Неправильно распознан многоточие или символ замены | Убедитесь, что исходный файл в UTF‑8, либо замените … на ... вручную |
| Случайные управляющие символы | Бинарные данные трактуются как текст | Проверьте, открываете ли вы правильный тип файла |
| Текст портится через несколько строк | Несоответствие локали терминала | Установите LANG/LC_ALL в C. UTF-8 |
Проверка
Создайте небольшое UTF‑8‑файл и посмотрите его:
printf "Hello … world?\n" > test.txt
cat test.txt
Если многоточие и вопросительный знак отображаются правильно, ваша среда уже готова к работе с UTF‑8.Если нет – настройте локаль или преобразуйте файл.
Что дальше
Попробуйте предложенные проверки.Если сможете скопировать фрагмент текста (не более 200 символов) и уточнить, где он появляется (консоль, лог, PDF), мы сможем точнее определить проблему.
А какие методы вы используете для работы с кодировками в своей практике? Поделитесь опытом в комментариях!
