Bug 15905

Summary: [Kate] Incorrect UTF-8 symbols are destroyed when saving file
Product: Branch 4.0 Reporter: Konstantin Uvarin (lodin) <khedin>
Component: kdebaseAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: Q.A. 4.0 <qa-4.0>
Severity: normal    
Priority: P2    
Version: 4.0   
Hardware: all   
OS: Linux   

Description Konstantin Uvarin (lodin) 2008-06-04 11:15:18 MSD
При открытии в kate текста, имеющего кодировку cp1251, при локали utf-8 и без
указания кодировки, и последующем сохранении результатов вместо всех русских
символов появляются одинаковые знаки вопроса. 

При этом тот же файл, открытый с явным указанием какой-нибудь восьмибитной
кодировки, сохраняется нормально (что логично).

Хотелось бы, чтобы редактор символы, ему непонятные, оставлял как есть. 

bash$ kate --version
Qt: 3.3.8
KDE: 3.5.7
Kate: 2.5.7
Steps to Reproduce:
1. Создаём файл в кодировке, отличной от utf-8, например:
iconv -t cp1251 <<EOF >kate_ru.txt
text
русский
more text
EOF

обратите внимание, что при сохранении файла самой kate его кодировка
непостижимым образом запоминается, так что файл придется переименовать для
воспроизведения бага таким способом. 
2. kate --use -e utf-8 kate_ru.txt
файл откроется с "вопросиками"
3. Редактируем файл, например, добавляем в конец "even more text"
4. Нажимаем сохранить.
Actual Results:  
Вместо русских букв в файле будет последовательность символов "&#65533;" (за нумером
65533, байты ef bf bd)

cat kate_ru.txt | iconv -f cp1251
text
п&#1111;&#1029;п&#1111;&#1029;п&#1111;&#1029;п&#1111;&#1029;п&#1111;&#1029;п&#1111;&#1029;п&#1111;&#1029;
more text
a


Expected Results:  
Все "некорректные" символы должны быть сохранены as is, даже если они
отображаются в самой Kate вопросиками.
Comment 1 Mikhail Gusarov 2008-06-13 12:59:26 MSD

    
Comment 2 Michael Shigorin 2014-11-05 20:16:24 MSK
В 4.0/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.