Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[bug?] Юникодные символы в историях
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 11:30    Post subject: [bug?] Юникодные символы в историях Reply with quote

Code:
    ﻼﻻﺏﺑ     


такая строка (Текст поиска) сохраняется в истории криво- при след. вызове поиска в истории- фигня
7.55

 !  Avada:
Заголовок уточнил.

_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 17, 2010 12:11    Post subject: Reply with quote

Alextp
Если эту манипуляцию проделать на "чистом" TC, то wincmd.ini будет сгенерирован в UTF-8, и арабский текст отобразится при просмотре файла нормально. Если же у меня уже существует неюникодный рабочий wincmd.ini в кириллице (Windows-1251), то там, разумеется, после сохранения можно при открытии в той же кодировке в редакторе/вьюере увидеть фигню. Однако в самом диалоге в истории у меня по-прежнему отображаются арабские символы. Проверялось на нескольких историях.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 13:39    Post subject: Reply with quote

-меня уже существует неюникодный рабочий wincmd.ini в кириллице (Windows-1251)--в редакторе/вьюере увидеть фигню.

при чем тут редактор?! Я про историю Alt-f7. редактор --не при чем--
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 17, 2010 13:52    Post subject: Reply with quote

Alextp
И я про историю.
Quote:
Однако в самом диалоге в истории у меня по-прежнему отображаются арабские символы. Проверялось на нескольких историях.

_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 14:21    Post subject: Reply with quote

новый ini
ищем *, текст " ﻼﻻﺏﺑ ".
В истории **ня.
(диалог открой еще раз)
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Fri Sep 17, 2010 14:28    Post subject: Reply with quote

Мне кажется, тут по ходу обсуждения возникла небольшая путаница. Во-первых, я не помню случаев, чтобы wincmd.ini целиком сохранялся в UTF-8. Он должен быть либо ANSI-шный, либо в UTF-16. Во втором случае юникодный текст просто сохраняется как есть, в первом — юникодная строка (и только она) конвертируется Тоталом в UTF-8, к ней приписывается BOM-префикс и результат записывается в качестве значения ключа как ANSI-строка. Естественно, если после этого просмотреть wincmd.ini как ANSI, то увидим ерунду вида
Code:
0=п»їп»јп»»пєЏпє‘
Однако Тотал при чтении настройки из файла видит сигнатуру в начале строки и трактует хранящийся там текст как UTF-8, т.е. как юникодную строку. Соответственно, в диалоге текст из истории отображается и обрабатывается в точности в том виде, в каком мы его вводили в первый раз.

Добавлено:
Alextp wrote:
новый ini
ищем *, текст " ﻼﻻﺏﺑ ".
В истории **ня.
(диалог открой еще раз)

Открыл, поискал. Закрыл диалог, открыл снова: в строке поиска ровно тот же текст " ﻼﻻﺏﺑ ", в выпадающем списке истории он тоже отображается корректно.

Какая именно **ня у тебя отображается? Как она выглядит? Скрин давай.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?


Last edited by CaptainFlint on Fri Sep 17, 2010 14:38; edited 3 times in total
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 14:31    Post subject: Reply with quote

не в точности. Мне uvf записать?
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Fri Sep 17, 2010 14:35    Post subject: Reply with quote

Alextp
Я бы начал со скрина, но можно и uvf. И заодно сбрось сюда соответствующую строчку из wincmd.ini.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 14:42    Post subject: Reply with quote

строчку не буду (сорри)
email.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Fri Sep 17, 2010 18:22    Post subject: Reply with quote

На чистом INI воспроизвёл. Проблема в том, что Гислер оборачивает строку с пробелами в кавычки, и сигнатура попадает внутрь кавычек, т.е. перестаёт находиться в начале строки, вот текст и не определяется как UTF-8. Баг, надо репортить.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Sep 17, 2010 19:00    Post subject: Reply with quote

текст Avada про кодировку ini - вобще не понял. :\ При чем тут есть ли уже файл ini или он "сгенерированный". Кодировка все равно 1-byte(кодировка истории- UTF)
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 17, 2010 19:35    Post subject: Reply with quote

Alextp
При том, что при запуске "чистого" Тотала (вообще без файла wincmd.ini), вводе в одном из полей поиска вот этого самого, выполнения поиска и перезапуска TC вновь созданый INI-файл в части программ (например, EmEditor) открывается как "UTF-8 без сигнатуры", и там эта строка истории отображается правильно. При выполнении того же самого в Тотале с уже имеющимся файлом wincmd.ini в Windows-1251 в соответствующей строчке в редакторе (не в диалоге!) будет фигня.
А что касается истории, отображаемой в самом диалоге, то, как было уже сказано, у меня там с арабской вязью всё в порядке в любом случае.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Fri Sep 17, 2010 19:40    Post subject: Reply with quote

Avada
На самом деле это случайность. Точнее, ошибка автоопределения в EE. Поскольку файл пустой и (судя по всему) не содержит ничего, кроме латиницы и нескольких UTF-8 символов, EE предполагает, что это UTF-8. Как я описал выше, предполагает ошибочно (хотя винить его здесь сложно, файл, действительно, слишком уж похож на настоящий UTF-8).

Касательно воспроизведения бага: наличие пробелов в начале и конце поисковой строки существенно. Я тоже сначала без пробелов искал и не мог воспроизвести.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Fri Sep 17, 2010 19:56    Post subject: Reply with quote

CaptainFlint
Да, с пробелами баг подтверждаю точно по твоей схеме.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Thu Sep 23, 2010 19:22    Post subject: Reply with quote

Зарепортил.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group