Russian Qt Forum

Qt => Общие вопросы => Тема начата: eXeLe от Март 06, 2013, 18:48



Название: Запуск русского УРЛа
Отправлено: eXeLe от Март 06, 2013, 18:48
Qt5, UTF-8 по умолчанию.
Вызываю в своей программе запуск ярлыка:

    myUrl="file:///D:/link.lnk";
    QDesktopServices::openUrl(QUrl(myUrl));

Работает идеально.
Но нужно запускать ярлык из каталога с русским названием. Поменять на английский саму папку не могу - общий внутрекорпоративный каталог.
Соответственно пробую делать подобным образом:

    myUrl="file:///D:/папка/link.lnk";
    QDesktopServices::openUrl(QUrl(myUrl));
Но ничего не запускается, ругается на недопустимый путь: file:///D:/??? ??/link.lnk


Если через qDebug() глянуть myUrl, то там нормальная запись file:///D:/папка/link.lnk
Как побороть?



Название: Re: Запуск русского УРЛа
Отправлено: alexis031182 от Март 06, 2013, 18:59
Может попробовать в cp1251 конвертануть текст урла?


Название: Re: Запуск русского УРЛа
Отправлено: Командор от Март 06, 2013, 19:37
Я делал так

Код
C++ (Qt)
QDesktopServices::openUrl(QUrl::fromLocalFile(url))


Название: Re: Запуск русского УРЛа
Отправлено: eXeLe от Март 06, 2013, 19:41
Я делал так

Код
C++ (Qt)
QDesktopServices::openUrl(QUrl::fromLocalFile(url))
то что нужно, большое спасибо!
как раз пробовал различные "опции" QUrl-a, но использовал toLocalFile, вместо fromLocalFile =)