Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите: Странная кодировка  (Прочитано 22700 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« : 10-01-2007 13:50 » 

Есть прибор анализатор дымовых газов Kane KM900, который неким образом русифицирован и иметт руское меню, и соотвественно умеет печатать отчеты на русском языке.

Вот с этими отчетами караз возникла проблема, на машине где последние 3 года перчаталдись отчеты полетел винт.
Но новом системнике отчеты получаются не совсем русские.
(способ получения отчетов: подключаем прибор к СОМ порту, запускаем Гипертерминал, нажимаем кнопочку Печать на приборе в окне терминала вуползает отчет, коий прибор бездумно гонит по RS-232 как на принтер)

Часть букв но не все заменяются обракадаброй
например вместо ДАТА печатет дата @ATA

Такое подозрение что использована какая та кодирвка в котрой одинаково пишущиеся сивалы руского и латинского алфавита имеют один код а для отсудствующий используются дополнительные коды.

Ктонибудь про такое слышал?
 
Записан

Да да нет нет все остальное от лукавого.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 10-01-2007 16:08 » 

KOI-кодировки по такому принципу разрабатывались. На 8-имибитных линиях связи передавались символы основной и расширенной таблиц. На 7-мибитных передавались только символы основной таблицы. В результате особого размещения русских букв в расширенной таблице добились того, чтобы при обрезании 8-го бита русский текст всё равно худо-бедно читался бы как транслит.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 10-01-2007 16:17 » 

dimka, в KOI букве "Д" соответствует "D" - это не наш случай.
Символ "@" имеет код 0x40, "Д" - 0xC4 (1251), 0x84 (866) и 0xC4 (KOI8). Прямой зависимости не видно.

Я думаю, дело может быть в:
1. неверные параметры порта (биты, четность);
2. своя особая кодировка;
3. глюки гипертерминала (это в порядке вещей).
« Последнее редактирование: 10-01-2007 16:20 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 10-01-2007 16:38 » 

Во-во - 1. Так просто. А вдруг поможет. Я точно такую чехарду наблюдал с RS-232 когда протокол/скорость и источника и приёмника были разные. Как в этом плане?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 10-01-2007 16:45 » 

Если часть символов проходит (и они имеют смысл), о скорости совпадают.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #5 : 10-01-2007 17:29 » 

тут возможно имеет смысл посмотреть, все ли Д заменяются... и т.д.

и желательно побольше примерчик...
Записан

Удачного всем кодинга! -=x[PooH]x=-
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 12-01-2007 07:30 » 

Вот пример.

* KM900.txt (0.48 Кб - загружено 1040 раз.)
Записан

Да да нет нет все остальное от лукавого.
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #7 : 12-01-2007 09:45 » 

ты же приводил пример:
"Часть букв но не все заменяются обракадаброй
например вместо ДАТА печатет дата @ATA"

а в примере Д вообще нет.
Записан

Удачного всем кодинга! -=x[PooH]x=-
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 12-01-2007 10:09 » 

Был он там,символ какойто не печатны, но не @, это просто в процесе переноса отчета из терминала в TXT что то покрешилось.... сегодня прибор ко мне привезут, сделаю лог монитором чтоб коды всего что приходит видно было.
Записан

Да да нет нет все остальное от лукавого.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 12-01-2007 12:58 » 

Вот дамп распечатки отчета.

* km900_monitor.txt (2.09 Кб - загружено 1081 раз.)
Записан

Да да нет нет все остальное от лукавого.
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #10 : 12-01-2007 13:42 » 

ваще ступор какой-то, мож какая спец. кодировка?...

так как, судя по примеру, например, слово TABEPHA будет выглядеть одинаково (в одном случае латиницей, в другом кириллицей) и с ней и без нее...  и что бы Д передавать как 0х06... я про такую не слышал...
« Последнее редактирование: 12-01-2007 13:47 от PooH » Записан

Удачного всем кодинга! -=x[PooH]x=-
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 12-01-2007 13:46 » 

Вот я тоже .....   вместо буквы Д символ  0х06 Не понял?
Может быть к этому прибору какнибудь спец шрифт пологался? Илисамому склепать... ксти говоря не кого нет редактора шрифтов а то я бы буковки нарисовал чтоб отменя отвяли и  дело сконцом....
Записан

Да да нет нет все остальное от лукавого.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 12-01-2007 16:42 » 

ну...
идея такова - русские буковки не попадающие под латиницу переводятся в непечатаемую зону, до 32, а потом программулина, которая печатает, добавляет чего-то, к концу дня сообразить не могу чего, уже к принтеру готовую кодировку.
он также хреново печатает Я
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 12-01-2007 19:12 » 

1. Пока солидарен с RXL - как насчёт параметров? Какой протокол используется? Если Xonn/Xoff то какие символы выбраны в качестве старт/стопных и тд и тп

2. А как он передаёт латиницу? "International" это всё? Можно на этом основании заключить, что латиница передаётся правильно? Если - да, то 1 можно забыть.

3. Кстати, никакой однозначности нет. Например в слове  "©CTAHOB" почему на первом месте не стоит О? Даже если предположить, что она берётся из первой части таблицы?
ЭТо-то и наталкивает на ошибку пп.

4. А что доки говорят?

5. А как тебе редактор шрифтов поможет? Можно будет найти. Ести фри, ести триальные, но на один раз хватит. Только на работе валяются, так что либо в инете смотри, либо до понедельника жди.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 12-01-2007 20:16 » 

Видимо это кодировка такая. Вот что видно на последнем дампе:

Д - 06
? - a1
? - a4
И - a5
Л - a7
П - a8
О - a9
Я - b1

И еще ряд символов.

Ни одной кириллической кодировке не соответствует: http://segfault.kiev.ua/cyrillic-encodings/

На мой взгляд, это бред.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #15 : 13-01-2007 07:19 » 

О - a9

А как же  "©CTAHOB"? Вторая "О" нормально написана?

Цитата
На мой взгляд, это бред.

"Эт точно!" (с)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #16 : 13-01-2007 11:46 » 

Цитата
А как же  "©CTAHOB"? Вторая "О" нормально написана?

мне тоже это сначала в глаза бросилось, а потом решил, что там может быть У
Записан

Удачного всем кодинга! -=x[PooH]x=-
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #17 : 14-01-2007 04:53 » 

мне тоже это сначала в глаза бросилось, а потом решил, что там может быть У

Да, скорее всего. Что-то не установлено - "НЕ УСТАНОВ". Во всяком случае это подходит. Те "О" это "О", а "У" это "©".
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #18 : 15-01-2007 13:39 » 

О - a9

А как же  "©CTAHOB"? Вторая "О" нормально написана?

Цитата
На мой взгляд, это бред.

"Эт точно!" (с)
Есть мнение, что это не ОСТАНОВ. а УСТАНВ.
Записан

Да да нет нет все остальное от лукавого.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #19 : 16-01-2007 04:47 » 

У меня сложилось впечатление что народ выполнявший пусификацию прибора в целях экономии памяти, дествительно дополнил латиницу необходимым количеством руских символов, а что бы не нарушать алгоритм работы прибора добвавил недоластающие символы в нарачало таблицы(теже отчеты на прибре выглядят совершенно адекватно).... вопрос как это исправить?   
Записан

Да да нет нет все остальное от лукавого.
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #20 : 16-01-2007 06:26 » 

Как вариант: написать прогу, которая считывает все из RS232, а потом вручную перекодировать и записать просто в текстовый файл.
Если конечно же есть возможность узнать коды всех символов (например, если можно заставить прибор прогнать весь алфавит).

хотя, судя по
....на машине где последние 3 года перчаталдись отчеты ...
(способ получения отчетов: подключаем прибор к СОМ порту, запускаем Гипертерминал, нажимаем кнопочку Печать на приборе в окне терминала вуползает отчет, коий прибор бездумно гонит по RS-232 как на принтер)
эта проблема была решена по другому А черт его знает...

Может в HyperTerminal (я не очень тесно с ним знаком) можно настроить вывод символов?
« Последнее редактирование: 16-01-2007 09:10 от Артем » Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #21 : 16-01-2007 07:10 » 

может был какой-то хитрый тип терминала? может саму железку как-то можно настроить?
Записан

Удачного всем кодинга! -=x[PooH]x=-
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines