LINUX.ORG.RU

Поломалась кодировка после обновления

 ,


0

3

Обновил генту на свою голову! Почему-то в нормальных терминалах кириллица отображается правильно (т.е. виноваты явно не параметры загрузки ядра), а вот в иксовых (xterm и xfce4-terminal), несмотря на явное указание в настройках локали КОИ8-Р, отображаются «крякозябры». Листинг директории с торрентами отображает кириллицу, т.е. вместо кошерной кодировки зачем-то иксовые терминалы решили, что у меня хрюникод по умолчанию! При этом диалоги open/save отображают КОИ8-Р нормально.

Интересно, что это за бред такой? Как вообще такое могло случиться? Неужто поломали что-то в GTK?

☆☆☆☆☆

Сначала подумал, что странная поломка, не было такого ни разу. А потом увидел автора и понял, что у него снова кактус отвалился. ОК.

Zhbert ★★★★★
()
Ответ на: комментарий от Eddy_Em

Правой кнопкой по рабочей зоне - Encodings - Koi8-r

int13h ★★★★★
()

А помните, когда мы были ещё детьми, то существовали разные кодировки? Я уже чуть не забыл об этом

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

три нормальных кодировки: КОИ8-Р, CP866 и CP1251

Они не нормальны даже в твоем выдуманном мирке, не говоря уже про мир реальный.

dexpl ★★★★★
()
Ответ на: комментарий от vertexua

Я не так давно на какой-то местный древний сайт зашел, а там кракозябры, мне как раз эта менюшка понадобилась, впервые за последние лет 15…

artzaleks
()

Чисто из любопытства интересно узнать, как в такой системе с КОИ8-Р локалью отображаются китайские иероглифы, всякие арабские и еврейские буквы. Как будет отображаться слово žópa 🤔

Проверять я это, конечно, не буду. 2021 год на дворе, всё-таки.

Thetan ★★★
()
Ответ на: комментарий от Thetan

Если в GNU/Linux'е с локалью KOI8-R запущены иксы и какой-нибудь Firefox/Chromium, то в этом последнем всё равно всё юникодное. Локаль здесь влияет только на дефолт кодировки plaintext'а и имён файлов (в т.ч. более длинные имена кириллицей можно присваивать файлам).

В ядерной консоли с локалью KOI8-R же отображаются только 256 символов, которые входят в KOI8-R. Иероглифы не отображаются никак. Впрочем, если там включить юникод, то иероглифы будут отображаться квадратиками.

saahriktu ★★★★★
()
Ответ на: комментарий от Thetan

как в такой системе

А ничего, что я не знаю китайского, арабского и иврита? Какая мне разница, как будут эти значки обозначаться?

Eddy_Em ☆☆☆☆☆
() автор топика

Чтобы вас дети так любили, как Эдичка свою разлюбезную бнопню.

А все потому, что в сишечке нормальных строк нет, да?

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)

Нейтрально отношусь к извращениям Эдика касательно кодировок, но...

кириллицу, пробелы и другие запрещенные символы в путях использовать нельзя

Это атас! Может ты еще и дос каждый день с дискетки запускаешь вместе с volkov commander?

reprimand ★★★★★
()
Ответ на: комментарий от Nervous

в сишечке нормальных строк нет

В Си есть юникодные строки, но прикрученные сбоку. Конкретно в glibc это реализовано через wchar_t и новые функции, которые работают с массивами wchar_t. И, да, не все это любят потому, что это не кроссплатформенно т.к. в винде wchar_t 2 байта, а в glibc - 4 байта (памяти, соответственно, тоже жрёт в 4 раза больше однобайтных кодировок). Поэтому многие прикручивают сторонние библиотеки для работы с юникодом.

saahriktu ★★★★★
()
Ответ на: комментарий от reprimand

Почему атас? Дофига нормальных людей этого избегает.

А вот ****баться с КОИ-8 это действительно атас.

anonymous
()
Ответ на: комментарий от saahriktu

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

anonymous
()
Ответ на: комментарий от Eddy_Em

Все более ранние версии отправили в Лету.

Я новичок, но, по-моему, в генту где-то есть/была возможность синхронизировать portage дерево на определённую дату в прошлом. Не могу найти, как.

novus
()
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

Я выше уже пошутил. Но пришел душный Пинки и удалил.

anonymous
()

Опять ты со своим "ющенкодом"…

Кстати, а что в tty?

Korchevatel ★★★★★
()
Ответ на: комментарий от novus

Говорят, раньше это работало:
emerge-webrsync --revert=yyyymmdd

Р.S. Не понимаю некоторых, кто говорит о ненужности KOI8-R. ТС явно сказал, что у него куча файлов с этой кодировкой. Кому-то нужно, кому-то - нет. Отучаемся говорить за всех.

novus
()
Последнее исправление: novus (всего исправлений: 1)
Ответ на: комментарий от vertexua

А помните, когда мы были ещё детьми, то существовали разные кодировки? Я уже чуть не забыл об этом

Их спонсировали авторы iconv, это был заговор, которому конец.

anonymous
()

Вали на винфак с проблемами с кодировкой. В utf-8 не смог – это твоя расплата, за то что ты так и не смог пояснить за 8 бит.

anonymous
()
Ответ на: комментарий от novus

emerge-webrsync --revert=20210425

x11-base/xorg-server
     Доступные версии:      1.20.10-r2(0/1.20.10)^t 1.20.10-r3(0/1.20.10)^t 1.20.11(0/1.20.11)^t **9999(0/9999)*l^t {debug dmx doc +elogind ipv6 kdrive libressl minimal selinux suid systemd test +udev unwind wayland xcsecurity xephyr xnest xorg xvfb}
     Установленные версии:  1.20.11(0/1.20.11)^t(18:52:36 15.04.2021)(elogind udev xorg -debug -dmx -doc -ipv6 -kdrive -libressl -minimal -selinux -suid -systemd -test -unwind -wayland -xcsecurity -xephyr -xnest -xvfb)
...
Но откатываться - так себе решение, лучше разобраться.
https://distfiles.gentoo.org/snapshots/?C=M;O=A

novus
()
Последнее исправление: novus (всего исправлений: 3)
Ответ на: комментарий от saahriktu

2 байтов не хватит на Юникод. Там сейчас больше ста тысяч кодовых точек, а технически может быть около миллиона. Нужно 3 байта как минимум. Поэтому в С нет поддержки юникода, даже с wchar_t. По крайней мере эта поддержка ничем не лучше char с utf 8.

Legioner ★★★★★
()
Ответ на: комментарий от saahriktu

Если в GNU/Linux’е с локалью KOI8-R запущены иксы и какой-нибудь Firefox/Chromium, то в этом последнем всё равно всё юникодное.

И зачем тогда превозмогать? Зачем устраивать этот цирк с кодировками?

Thetan ★★★
()
Ответ на: комментарий от Eddy_Em

Впрочем, у тебя там даже Ё и тире длинного нет. Жуть.

Thetan ★★★
()

Обычно это означает, что у тебя по умолчанию используются шрифты без кириллицы.

Evgueni ★★★★★
()
Ответ на: комментарий от vertexua

Я недавно столкнулся с файлом в UTF16LE. При открытии в текстовых редакторах оно отображалось нормально, кодировка детектится автоматически. А при попытке читать программно получалась дичь. Долго не мог понять в чём дело, пока не сделал cat этого файла в консоли. Потом только обратил внимание на поле в статусбаре показывающее кодировку в текстовом редакторе. Выставил кодировку руками при открытии файла и всё заработало.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от Nervous

А все потому, что в сишечке нормальных строк нет, да?

В С есть поддержка и utf8 и utf16 и utf32.

char utf8[] = u8"a猫🍌";
char16_t utf16[] = u"a猫🍌";
char32_t utf32[] = U"a猫🍌";

Правда это в современном С. А для многих тут уже С умер, поэтому о новых фичах никто уже не знает.

fsb4000 ★★★★★
()
Ответ на: комментарий от shleemypants

ПросЮт? Закат OpenRC.

Оно как отдельный демон работает, без этого всего. Ну или поддерживай код Consolekit 2, никто не будет против.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от neocrust

А что, есть ещё какой-то дистр с кучей полезных вещей в репах и без systemd? Кстати, к бунте кои8 легко прикручивалась...

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от LongLiveUbuntu

Не нужно. Я и консолекит удалил, и логинд. На всех машинах. Нигде проблем не было. Я вообще не понял, на кой эти демоны были нужны!

Eddy_Em ☆☆☆☆☆
() автор топика
Ответ на: комментарий от neocrust

Чем больше тредов, тем больше для него стоит признание ошибки публично.

Эволюционно мышление через логику у людей работает не в последовательности «логика->вывод», а как «чуть-чуть логики -> вывод -> сколько угодно логики и доводов чтобы доказать правоту вывода другим». Аргументирование точки зрения - социальный, а не рациональный процесс. Задача - совместно решить хоть что-то и кооперировать, а не лучшее решение. Потому выгодно задоминировать кого-то своими взглядами, чем искать истину. Задоминировать одного, унизив - выгоднее перед другими. Они будут подсознательно бояться унижения и сразу с тобой согласятся.

Даже если обмнануть человека и подменить его вывод, например если он забыл, но ему сказать что год назад он выбрал А, а не Б (хотя он выбрал Б) и попросить объяснить решение, то ох как он его объяснит.

Я думаю на данном этапе это уже невозможно, будет топить за это говно до гроба.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 6)
Ответ на: комментарий от Eddy_Em

А что, есть ещё какой-то дистр с кучей полезных вещей в репах и без systemd?

Slackware, CRUX, PCLinuxOS, Tiny Core Linux, Devuan, Vine,... и т.д.

saahriktu ★★★★★
()
Ответ на: комментарий от vertexua

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

novus
()
Последнее исправление: novus (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.