AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Проблема с кодировками

 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
pmu800



Joined: 09 Mar 2013
Posts: 3

PostPosted: Sat Mar 09, 2013 7:13 pm    Post subject: Проблема с кодировками Reply with quote

Столкнулся со следующей проблемой и не знаю что делать.

Упрощенно выглядит так (Win7):
1. В Notepad пишем "это тест", сохраняем (кодировка по умолчанию - ANSI), закрываем
2. Открываем в Akelpad (кодировка по умолчанию - UTF8, но в настройках стоит "распознавать кодировки в тч 1251") - видим абракадабру
3. Наживаем в тексте добавить строку (ввод), сохраняем.
4. В результате имеем не читаемый ничем тест и я не могу его прочитать раскодировавщими - что делать?

UTF8 поставил из за плагина "autosave" - текст с web-страниц вставленный в редактор Akelpad приводил к краху всех открытых не сохраненных файлов если была по умолчанию кодировка 1251.

Как раскодировать текст и правильно настроить Akelpad?
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 807
Location: Kyiv, Ukraine

PostPosted: Mon Mar 11, 2013 9:20 am    Post subject: Re: Проблема с кодировками Reply with quote

При открытом файле, внизу, на статус-баре - там, где надписи Ins | Win | 65001 ( UTF-8 ) without BOM - нажимаем правую кнопку мыши на надписи "65001 ( UTF-8 ) without BOM" и в появившемся всплывающем меню выбираем Open As -> 1251 (ANSI - Cyrillic).
P.S. А иероглиф из "это тест" получается зачётный, да: ��沲
Back to top
View user's profile Send private message
pmu800



Joined: 09 Mar 2013
Posts: 3

PostPosted: Tue Mar 12, 2013 6:22 pm    Post subject: Reply with quote

оно становиться еще забавнее, если выполнить п. 3 (или оно само выполниться при autosave) и попробовать потом прочитать файл указанным вами способом Sad
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 875

PostPosted: Wed Mar 13, 2013 6:15 am    Post subject: Reply with quote

Quote:
нажимаем правую кнопку мыши на надписи "65001 ( UTF-8 ) without BOM" и в появившемся всплывающем меню выбираем Open As -> 1251 (ANSI - Cyrillic)

Либо Alt+W Wink

C преобразованием в/из utf8 всё строго: стоит один раз перегнать что-то не то, и данные потеряны. Это происходит потому, что в спеки кодировки встроена сигнатура символов, позволяющая отличать корректные utf8 символы от мусора, а АП, судя по всему, тихо глотает этот мусор.
Back to top
View user's profile Send private message
pmu800



Joined: 09 Mar 2013
Posts: 3

PostPosted: Wed Mar 13, 2013 9:22 am    Post subject: Reply with quote

видимо так и есть, а все было бы хорошо, если бы АП тихо проглатывал юникод символы при сохранении в кодировке 1251 как это делает notepad.
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 807
Location: Kyiv, Ukraine

PostPosted: Wed Mar 13, 2013 9:44 am    Post subject: Reply with quote

Fr0sT wrote:
C преобразованием в/из utf8 всё строго

Кстати, да.
Последовательность символов "это тест" имеет следующие коды:
"FD F2 EE 20 F2 E5 F1 F2".
Стандарт UTF-8 чётко определяет, сколько байт относится к одному символу: http://en.wikipedia.org/wiki/UTF-8
Согласно приведенной там табличке, байт 0xFD (0b11111101) является 1-м байтом символа из 6 байт
(по формуле 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx).
Следующий байт 0xF2 (0b11110010) уже не удовлетворяет условию "10xxxxxx" для второго байта в 6-байтном символе.
Получается, да, это явная ошибка в AkelPad.
Последовательность байт "FD F2" не является корректной последовательностью для UTF-8.
Back to top
View user's profile Send private message
Fr0sT



Joined: 24 Jul 2007
Posts: 875

PostPosted: Wed Mar 13, 2013 1:30 pm    Post subject: Reply with quote

Quote:
а все было бы хорошо, если бы АП тихо проглатывал юникод символы при сохранении в кодировке 1251 как это делает notepad

Да уж лучше бы ругался!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Page 1 of 1

 
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


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group