Bug 27728

Summary: Не воспринимает кириллицу в кодировке ANSI
Product: Sisyphus Reporter: Alexander Shemetov <berkut_174>
Component: meditAssignee: Grigory Ustinov <grenka>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cas, grenka, mike
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Скриншот
none
Текстовый документ none

Description Alexander Shemetov 2012-09-12 12:29:59 MSK
Создаю текстовый документ в блокноте с кодировкой ANSI (по умолчанию) с кириллическими и латинскими символами.
Открываю этот файл в medit (Simply 6) и получаю кашу из разнообразных символов вместо кириллицы. С латиницей все нормально.
Если создать файл в кодировке UTF-8 — все прекрасно отображается.
На KDesktop 6 тоже все отображается нормально.
Comment 1 Alexander Shemetov 2012-09-12 12:30:57 MSK
*На KDesktop 6 тоже все отображается нормально.
В любой кодировке!
Comment 2 Alexander Shemetov 2012-09-12 12:32:03 MSK
*На KDesktop 6 тоже все отображается нормально.
*В любой кодировке!
Правда, через kwrite, с помощью medit не пробовал.
Comment 3 Andrey Cherepanov 2012-09-12 14:04:29 MSK
Пример файла приложите. И заодно напишите, какую кодировку указывали при открытии.
Comment 4 Alexander Shemetov 2012-09-12 14:41:31 MSK
Created attachment 5553 [details]
Скриншот
Comment 5 Alexander Shemetov 2012-09-12 14:42:11 MSK
Created attachment 5554 [details]
Текстовый документ
Comment 6 Alexander Shemetov 2012-09-12 14:44:10 MSK
> Пример файла приложите. И заодно напишите, какую кодировку
> указывали при открытии.

Файлы прилепил.
Никакую не указывал, автоопределение.
Не нашел сейчас там вообще ANSI в списке...
Comment 7 Andrey Cherepanov 2012-09-12 16:06:26 MSK
(В ответ на комментарий №6)
> Никакую не указывал, автоопределение.
> Не нашел сейчас там вообще ANSI в списке...
ANSI для русского в Windows - Windows-1251. OEM - CP866. Из-за того, что KOI8 в автоопределении стоит раньше, она распознала как koi8-r и показала в этой кодировке. Так что это не ошибка, а неправильная настройка.

Изменить → Настройки → Файл → Автоопределение кодировки поставьте

 UTF-8,LOCALE,WINDOWS-1251,KOI8-R,ISO_8859-15,ISO_8859-1

Не считаю это ошибкой, так как можно явно выбрать кодировку и исправить умолчания. Замену правила автоопределения считаю нецелесообразным, так как есть и пользователи KOI8-R.
Comment 8 Alexander Shemetov 2012-09-12 16:40:22 MSK
Ясно.
Но это не выход. В Windows (все-таки самая популярная ось среди _пользователей_) при создании документа по умолчанию выбирается ANSI и обычный пользователь вряд ли что-то будет менять (да он даже не знает что это такое) кодировку и при открытии в Линукс получит кашу из букв — непорядок.
Я вот про KOI8-R первый раз слышу, а обычный пользователь и про ANSI и UTF-8 ничего не знает, как ему быть ? Он просто жмякнет два раза по файлу через ФМ и все.
Я сам не очень часто сталкиваюсь с подобным, т.е. я уже привык сохранять в UTF-8, если мне что-то нужно открыть в Линукс созданное в блокноте, и почти не имею с этим дело, но кому то может это будет нужно...
Кстати на ШНЛ 5.0.2 все прекрасно открывается. Все же это проблема medit... Или почему kwrite и leafpad нормально распознают кодировку, а medit неправильно ? Значит автоопределение работает не на должном уровне !)
Раз уж так... буду KDesktop ставить :-) там с кодировками все норм! (шучу)
Comment 9 Alexander Shemetov 2012-09-12 16:52:22 MSK
Нашел проблему. Настройки не трогал.
Если открывать из ФМ файл двойным кликом, то он выбирает неверную кодировку.
Если запустить medit, а потом через него уже открыть файл, то кодировка определяется верно.
В чем тогда дело ?
Comment 10 Alexander Shemetov 2012-09-12 16:56:27 MSK
После того как файл был открыт именно из запущенного medit (Ctrl+O) с правильной кодировкой, этот же файл и из ФМ двойным кликом открывается с верной одировкой!)
Вот это уже ошибка...
Comment 11 Alexander Shemetov 2012-09-13 08:32:35 MSK
Сейчас вообще убрал из настроек KIO8-R и все равно не открывается в нужной кодировке. Даже оставил только WINDOWS-1251 — все равно автоопределение не срабатывает, тупо всегда открывает в KIO8-R!
Срабатывает только, если выбрать вручную кодировку для открытия.
Считаю, что это ненормально, ошибкой.
Comment 12 Andrey Cherepanov 2012-09-13 13:43:54 MSK
Для любого открытого файла в medit кодировка сохраняется. Нужно или переоткрыть в правильной кодировке или переименовать. После смены правила все ранее не открытые файлы открываются правильно.

Прошу мейнтейнера собрать с <item name="Editor/encodings" type="string">UTF-8,LOCALE,WINDOWS-1251,KOI8-R,ISO_8859-15,ISO_8859-1</item>
Comment 13 Alexander Shemetov 2012-09-13 15:19:42 MSK
> Для любого открытого файла в medit кодировка сохраняется.
Ни очень хорошая опция...

> Прошу мейнтейнера собрать с <item name="Editor/encodings"
> type="string">UTF-8,LOCALE,WINDOWS-1251,KOI8-R,ISO_8859-15,ISO_8859-1</item>

Спасибо!)
Comment 14 Alexander Shemetov 2012-09-21 12:49:30 MSK
> Для любого открытого файла в medit кодировка сохраняется.
Подскажите, пожалуйста, где, в каком файле это можно обнулить, чтобы medit навсегда забыл про когда-то открытые файлы и их кодировку ?
Удаляю ~/.local/share/medit-1 но это не помогает...
Comment 15 Andrey Cherepanov 2012-09-21 13:48:38 MSK
(В ответ на комментарий №14)
> > Для любого открытого файла в medit кодировка сохраняется.
> Подскажите, пожалуйста, где, в каком файле это можно обнулить, чтобы medit
> навсегда забыл про когда-то открытые файлы и их кодировку ?
> Удаляю ~/.local/share/medit-1 но это не помогает...
Я знал, что это спросите. :)

С помощью Git выяснил: .local/share/recently-used.xbel в домашнем каталоге
Comment 16 Alexander Shemetov 2012-09-21 16:01:22 MSK
> Я знал, что это спросите. :)
:-)
Этот файл помнит последние открытые файлы в системе (в меню Переход можно очистить историю), а вот ~/.cache/medit-1/recernt-files-editor.xml как раз хранит последние открытые документы в medit и их кодировку. А в session.xml которые остались открытыми при выходе.
Теперь не могу найти где medit хранит настройки конфига по умолчанию, хочу там автоопределение кодировку сменить, можно конечно в скелет, но может кто подскажет.
Comment 17 Andrey Cherepanov 2012-09-21 16:15:55 MSK
(В ответ на комментарий №16)
> Теперь не могу найти где medit хранит настройки конфига по умолчанию, хочу там
> автоопределение кодировку сменить, можно конечно в скелет, но может кто
> подскажет.
~/.local/share/medit-1/prefs.xml
Comment 18 Alexander Shemetov 2012-09-21 18:36:10 MSK
> ~/.local/share/medit-1/prefs.xml
Мне глобальный конфиг, этот я нашел сам. :-)
Или исправление будет скоро ? Просто тот файл, что вы указали не хранит каких-либо настроек, он по-сути пуст, все настройки берутся из глобального конфига (а где он?). Если только какие-то настройки в medit править, тогда в него эти изменения заносятся.
Comment 19 Alexander Shemetov 2012-09-21 18:38:18 MSK
В /usr/share/medit-1 не нашел ничего...
Comment 20 Andrey Cherepanov 2012-09-22 11:51:22 MSK
(В ответ на комментарий №18)
> > ~/.local/share/medit-1/prefs.xml
> Мне глобальный конфиг, этот я нашел сам. :-)
> Или исправление будет скоро ? Просто тот файл, что вы указали не хранит
> каких-либо настроек, он по-сути пуст, все настройки берутся из глобального
> конфига (а где он?). Если только какие-то настройки в medit править, тогда в
> него эти изменения заносятся.
Только код переделывать, он вкомпилирован.
Comment 21 Alexander Shemetov 2013-05-25 12:05:09 MSK
Исправьте, пожалуйста, автоопределение в p7.
Спасибо.
Comment 22 Grigory Ustinov 2018-11-26 14:03:00 MSK
(In reply to comment #21)
> Исправьте, пожалуйста, автоопределение в p7.
> Спасибо.

В новой версии не воспроизводится. Строка по умолчанию, как в комментарии №7.
В p7 бэкпорта не будет, потому что это неподдерживаемый бранч.