| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > русский путь к программе |
| Автор: kuvshinka 17.2.2014, 16:15 | ||
| У меня каталог windows-программы русскоязычен (например c:\папка1\MyProject) - это обязательно !!! из-за этого программа не собирается (не проходит qmake) и из-за этого же не находит файл: например
ответ будет "no file..." ... Подскажите пож-та как можно решить проблему наличия русских символов в каталоге программы или при использовании таковых в самой windows-программе (например как в коде выше)? |
| Автор: math64 18.2.2014, 07:11 | ||
Если исходики в UTF8, используется trUtf8(). Можно использовать QString::fromLocal8Bit() или QString::fromUtf8() соответственно. |
| Автор: bsa 18.2.2014, 11:46 |
| kuvshinka, проблему со сборкой возможно решить не получится. |
| Автор: kuvshinka 18.2.2014, 22:09 |
| math64: но и в QDir::currentPath() могут быть русские буквы... |
| Автор: math64 19.2.2014, 07:47 | ||||
| kuvshinka, проблема в том, что когда вы пишете "директория1", для преобразования в строку по умолчанию используется кодировка latin1. Можно поменять кодировку по умолчанию с помощью методов QTextCodec::setCodecFor...() QDir::currentPath() должен прамильно работать даже если в пути есть русские буквы. Вот фрагмент исходников:
Если возникает проблема с сборкой, не используйте русские буквы в исходниках, используйте tr("directory1") и подключите файл переводов.
Добавлено через 6 минут и 56 секунд Ну и кроме того, разместите проект в каталог, в пути которого нет русских букв. На собранную программу таких ограничений нет. |