LINUX.ORG.RU

GTK + Windows


0

0

Пишу программу с использованием GTK. Необходимо собрать ее копию и для винды. Все работает, собирается. Но есть одна проблема: приложения gtk2 воспринимают все строки в UTF-8. Все бы ничего, но параметры командной строки - тоже в UTF-8 (хотя реально в cp1251). Из-за этого, например, Glade не открывает файлы в директориях с русскими именами. А если и открывает, то не может сохранить (выдает ошибку). Как обойти такое?

★★★
Ответ на: комментарий от friday

Спасибо. Видимо, установка G_FILENAME_ENCODING=cp1251 должно спасти существующие приложения (glade).

Envel ★★★
() автор топика
Ответ на: комментарий от Envel

Проблемма не в GTK+, а в Glib... Все функции работы с файлами под виндой принимают данные в UTF8, под линуксом же в кодировке текущей локали... Вообще эта проблемма обсуждается в GLib reference. Скорее всего нужно использовать функции g_locale_to_utf8(или что-то в этом роде... с подробностями обратитесь к документации Glib) для конвертации данных в кодировке локали. В частонсти параметров argv.

v_gudkov
()
Ответ на: комментарий от v_gudkov

Из всего вышенаписанного понял, что glade заставить работать с кириллицей без пересборки не получится.

Envel ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.