Bug 7926 - не работает drag'n'drop файлов с русскими именами
: не работает drag'n'drop файлов с русскими именами
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/libgtk+2)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-09-12 06:33 by
Modified: 2009-01-26 18:20 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-09-12 06:33:39
Не работает 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 From 2005-09-12 06:34:21 -------
по непроверенным агентурным данным, то же самое происходит и с k3b 
(перетаскивание файлов)
------- Comment #2 From 2005-09-12 07:22:59 -------
Подтверждаю
------- Comment #3 From 2005-09-12 10:23:10 -------
А почему путь в UTF-8 ? 
------- Comment #4 From 2006-06-04 13:43:05 -------
Это всё ещё актуально?
------- Comment #5 From 2006-08-28 21:49:38 -------
Да, всё еще актуально!
------- Comment #6 From 2008-03-11 15:29:31 -------
Reassign to real maintainer.
------- Comment #7 From 2008-03-13 23:27:18 -------
Вот некоторые результаты моих исследований и сопровождающие их догадки. Я
установил, что независимо от локали пользователя, запустившего (правильное)
gtk+-2 приложение, внутри него все строки представлены в utf-8. Соответственно
и
при процедуре dnd-обмена строка передаётся в utf-8. Я не знаю, как дело обстоит
в КДЕ/Qt (т.к. оказалось, что не только я не любли КДЕшные приложения, но и они
тоже не любят меня -- у меня сегодня отказались запускаться konqueror и kmail),
но чует моё сердце, что в них строки хранятся в текущей локали. Соответственно
такое приложение ожидает, что при dnd строка тоже придёт в текущей локали.
Выход
тут один -- переделать все такие программы на внтуреннее использование юникода
на манер gtk-шных.
------- Comment #8 From 2008-03-14 01:28:44 -------
Нет, конечно же уже давно, как GTK-, так и QT-программы внутри используют 
исключительно UTF-8, собственно поэтому и возникают проблемы при пересечении 
границы - взаимодействию с со строками в кодировке локали.
Возможно это бага вообще в Иксах, пока не известно, нужно уточнить.
------- Comment #9 From 2008-03-14 12:14:56 -------
У меня есть программа, сделанная на основе примера использования dnd в Gtk, с
помощью которой удобно изучать тонкости dnd. Я, в частности, с её помощью и
установил, что при dnd Gtk->Gtk независимо от локалей, в которых запущены
приложения, строки передаются всегда в utf-8. Надо бы собрать нечто подобное
для
Qt и посмотреть, что там.
------- Comment #10 From 2008-05-11 18:36:11 -------
Это всё ещё актуально? (c)
------- Comment #11 From 2009-01-26 18:20:48 -------
мне не актуально больше.
все уже съехало на UTF-8