Bug 7926

Summary: не работает drag'n'drop файлов с русскими именами
Product: Sisyphus Reporter: Eugene V. Horohorin <genix>
Component: libgtk+2Assignee: Alexey Rusakov <ktirf>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: aris, mike, mutabor
Version: unstable   
Hardware: all   
OS: Linux   

Description Eugene V. Horohorin 2005-09-12 06:33:39 MSD
Не работает drag'n'drop файлов из каталогов с русскими именами между GTK 
(gqview) -> KDE (konqueror)

Имеем:
локаль koi8-r
gqview-2.0.0-alt1.64bit
kdebase-konqueror-3.4.1-alt8.1
libgtk+2-2.6.7-alt1

Если из окна gqview, из каталога содержащего русские буквы в названии перетащить 
d'n'd файл в окно konqueror, то в konqueror гарантировано получаем сообщение об 
ошибке:

"файл или папка _арабская_вязь_вместо_русских_букв_ не существует"

лечится довольно тривиально, запуск konqueror в UTF8 локали:
LANG=ru_RU.UTF8 konqueror
Comment 1 Eugene V. Horohorin 2005-09-12 06:34:21 MSD
по непроверенным агентурным данным, то же самое происходит и с k3b 
(перетаскивание файлов)
Comment 2 Eugene A. Suchkov 2005-09-12 07:22:59 MSD
Подтверждаю
Comment 3 Sergey V Turchin 2005-09-12 10:23:10 MSD
А почему путь в UTF-8 ? 
Comment 4 Alexey Rusakov 2006-06-04 13:43:05 MSD
Это всё ещё актуально?
Comment 5 Eugene V. Horohorin 2006-08-28 21:49:38 MSD
Да, всё еще актуально!
Comment 6 Slava Semushin 2008-03-11 15:29:31 MSK
Reassign to real maintainer.
Comment 7 Yury Aliaev 2008-03-13 23:27:18 MSK
Вот некоторые результаты моих исследований и сопровождающие их догадки. Я
установил, что независимо от локали пользователя, запустившего (правильное)
gtk+-2 приложение, внутри него все строки представлены в utf-8. Соответственно и
при процедуре dnd-обмена строка передаётся в utf-8. Я не знаю, как дело обстоит
в КДЕ/Qt (т.к. оказалось, что не только я не любли КДЕшные приложения, но и они
тоже не любят меня -- у меня сегодня отказались запускаться konqueror и kmail),
но чует моё сердце, что в них строки хранятся в текущей локали. Соответственно
такое приложение ожидает, что при dnd строка тоже придёт в текущей локали. Выход
тут один -- переделать все такие программы на внтуреннее использование юникода
на манер gtk-шных.
Comment 8 Vitaly Lipatov 2008-03-14 01:28:44 MSK
Нет, конечно же уже давно, как GTK-, так и QT-программы внутри используют 
исключительно UTF-8, собственно поэтому и возникают проблемы при пересечении 
границы - взаимодействию с со строками в кодировке локали.
Возможно это бага вообще в Иксах, пока не известно, нужно уточнить.
Comment 9 Yury Aliaev 2008-03-14 12:14:56 MSK
У меня есть программа, сделанная на основе примера использования dnd в Gtk, с
помощью которой удобно изучать тонкости dnd. Я, в частности, с её помощью и
установил, что при dnd Gtk->Gtk независимо от локалей, в которых запущены
приложения, строки передаются всегда в utf-8. Надо бы собрать нечто подобное для
Qt и посмотреть, что там.
Comment 10 Michael Shigorin 2008-05-11 18:36:11 MSD
Это всё ещё актуально? (c)
Comment 11 Eugene V. Horohorin 2009-01-26 18:20:48 MSK
мне не актуально больше.
все уже съехало на UTF-8