Решено: Сбилась кодировка в одной из консолей.

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Решено: Сбилась кодировка в одной из консолей.

Сообщение azsx »

У меня убунту 14.0.4 lts, lxde. Если я нажимаю ctrl+alt+{f1-f6} то у меня открываются разные консоли. На ctrl+alt+f7 у меня gui. По умолчанию у меня utf8.
Что случилось.
В консоли f2 была запущена программа на php. Она берёт данные с таблицы (utf8, ру текст), обрабатывает их, пишет результат на экран и в таблицу. Где то через сутки на экране сбилась кодировка, то есть вместо utf8 стали выводится сообщения хз в чём, то есть в какой то другой кодировке. Я сгоряча программу вырубил, однако, оказалось, что работа шла штатно, просто на экране кракозяблы. Подобная проблема у меня была на java в консольном выводе. Есть программы в других языках, которые никогда таких проблем не имели, так что может с языком не связано.
Что делал.
Я вышел и зашёл в консоли f2 по ctrl+D. Не помогло.
Вопрос.
Как это исправить во второй консоли и как этого избежать в будущем?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Решено: Сбилась кодировка в одной из консолей.

Сообщение Bizdelnick »

А дело точно в кодировке? Если выводился не только текст, а какие-то двоичные данные, терминал мог интерпретировать их как управляющие последовательности и начать вести себя совершенно непредсказуемо. Лечится это командой reset (возможно, придётся вводить вслепую — ^C reset Enter).

azsx писал(а):
22.12.2016 15:36
как этого избежать в будущем?

Переписать скрипт, чтобы он не выводил ничего кроме текста в кодировке текущей локали (или ASCII).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено: Сбилась кодировка в одной из консолей.

Сообщение azsx »

Точно reset помог.
зы
Только мне не понятно.
Переписать скрипт, чтобы он не выводил ничего кроме текста в кодировке текущей локали (или ASCII).

Не, реально все выводимы символы побуквенно отверять перед выводом в консоль? А что в базе искать, там 2 поля на 3 млн записей и должны быть только текстовые данные. А как вы отверяете это перед выводом в консоль? и почему в паскале такого никогда не было, хотя я и двочные выводил и всякие другие малопонятные.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Решено: Сбилась кодировка в одной из консолей.

Сообщение Bizdelnick »

azsx писал(а):
22.12.2016 16:04
там 2 поля на 3 млн записей и должны быть только текстовые данные

И зачем Вам это в консоли? Неужели читаете?

azsx писал(а):
22.12.2016 16:04
и почему в паскале такого никогда не было, хотя я и двочные выводил и всякие другие малопонятные.

Везло, значит.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Решено: Сбилась кодировка в одной из консолей.

Сообщение azsx »

Хоть где то мне повезло.
Вообше да, читаю. программист с меня так себе, иногда просто включаю вывод постоянный, если что не так, мимо монитора пробегаю и вижу. Отключаю, потом время есть - разбираюсь.
Спасибо сказали:
Ответить