Решили с товарищем собрать систему, которая будет фотографировать деталь, анализировать и выводить сообщение — есть там в отверстии резьба или нет.
Товарищ далеко от меня живет, работу разделили — мне аппаратная часть, ему программная.
Нашел я красивую коробочку, закрепил там подставку для детали, USB-фотокамеру, подключил к компьютеру.
Стал обдумывать, по какому событию фотокамера будет делать снимок. Решил, что это будет нажатие на букву «ё» на клавиатуре.
Связался с товарищем, обсудили. Он написал на Go программу, прислал. Запускаю программу, жму на «ё»… Не фотографирует!
Может, клавиша неисправна?
Делаю копию программы, заменяю в ней «ё» на «ы». Нажимаю — так фотографирует.
Для проверки заменяю обратно «ы» на «ё». Нажимаю — ура, заработало!
Где же проблема была? Проверяю снова с исходником — не работает...
Начинаю догадываться, что «ё» в исходнике, и «ё» которое я записал в копии отличаются.
Связываюсь с товарищем, обсуждаем - нашли проблему. Он живет во Франции, у них этот символ имеет другую кодировку, хотя по начертанию точно такой же.
Так что хочу всех предупредить - с «ё» будьте поосторожней!
История не шутка, произошла на самом деле. У кого-нибудь были подобные проблемы с кодировками?
Комментарии (10)

hafewix
27.05.2026 21:50$: echo 'ёжик' | grep -Po '[а-я]+'
жик
$: echo 'ёжик' | grep -Eo '[а-я]+'
ёжик
Solmik Автор
27.05.2026 21:50Благодарю!
Вы могли бы подробнее описать, как влияют параметры -Po и -Eo ?
И от чего ещё может зависеть результат?
Попробовал на своем Альт-Линуксе в терминале, оба варианта далижик
жик

Busla
27.05.2026 21:50хочу всех предупредить - с «ё» будьте поосторожней!
по рассказу выходит так, что с «а» и многими другими буквами у вас произошла бы ровно такая же проблема:
Он живет во Франции, у них этот символ имеет другую кодировку, хотя по начертанию точно такой же.

Solmik Автор
27.05.2026 21:50>по рассказу выходит так, что с «а» и многими другими буквами у вас произошла бы ровно такая же проблема
Если ставить латинскую "a", то конечно - проблема очевидная.
У меня другой товарищ написал для DOS русификатор, назвал его VRUN, этот русификатор сознательно врал и частично использовал латинские буквы :)

slair
27.05.2026 21:50чтобы не страдать ерундой в следующий раз, запускайте xev
и смотрите что возвращает клавиатураKeyPress event, serial 48, synthetic NO, window 0xa800001, root 0x2a4, subw 0x0, time 65442733, (1007,186), root:(1008,204), state 0x2010, keycode 49 (keysym 0x6a3, Cyrillic_io), same_screen YES, XLookupString gives 2 bytes: (d1 91) “ё” XmbLookupString gives 2 bytes: (d1 91) “ё” XFilterEvent returns: FalseKeyRelease event, serial 48, synthetic NO, window 0xa800001, root 0x2a4, subw 0x0, time 65442894, (1007,186), root:(1008,204), state 0x2010, keycode 49 (keysym 0x6a3, Cyrillic_io), same_screen YES, XLookupString gives 2 bytes: (d1 91) “ё” XFilterEvent returns: False
Solmik Автор
27.05.2026 21:50Я в тот раз так вычислил:
скопировал символ из текста программы в Excel, A1
= КОДСИМВ(A1) выдал код
потом в соседней ячейке кнопкой ввел, и так же проверил
Коды оказались разные
dom1n1k
Есть кириллическая ё (йо), а есть латинская e-diaeresis (она же umlaut).
Хуже того, помимо цельной буквы, ещё есть комбинируемые диакритические знаки, которые умеют прилепляться к букве обычной (на маках распространено).
И та же история с буквами i и ï, а может и ещё с какими-то.
Всё сложно.
vladkorotnev
Да и с "й" тоже. Помнится при какой-то конвертации музыки мне в тегах что-то заменило обычную Й на комбинацию из И, ZWJ и диакритика — и потом из-за бага в рокбоксе и фубаре палка от оной съезжала на буквы так четыре вперёд.
Squoworode
Об
отвале башкидекомпозиции и краткого на Хабре и статья была: https://habr.com/ru/articles/262679/P.S. А иногда бывает даже "и дважды краткое": й̆
Solmik Автор
Спасибо за ссылку, интересная статья!