d
dufus26 июня 2018 г. 20:13

Не открывает файл если в пути есть кириллица.

c++, URL

У меня не открывает файл , если в пути есть кириллица :QDesktopServices::openUrl(QUrl::fromUserInput(index.model()->data(index, Qt::DisplayRole).toString()));


"D:/My Programs/build-ObservationLog-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug/Журнал_0_Пн_июн_25_2018/Видеокамера/00887.MTS"
ShellExecute 'file:///D:/My Programs/build-ObservationLog-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug/??????_0_??_???_25_2018/???????????/00887.MTS' failed (error 2).
Стал использовать место MINGW _32bit,MSVC2017_64bit
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

7
Evgenii Legotckoi
  • 26 июня 2018 г. 20:31

Не используйте кириллицу при сборке проекта, нигде и никогда. Прописная истина.

Либо пытайтесь сконвертировать в правильную кодировку. Подробности по конвертировании текста из одной кодировки в другую в этом топике .

    d
    • 26 июня 2018 г. 21:07
    • (ред.)

    У меня получилось убрать вопросы так :

    QTextCodec *codec_1251 = QTextCodec::codecForName("Windows-1251");
    QString string = codec_1251->toUnicode(index.model()->data(index, Qt::DisplayRole).toByteArray());
    QDesktopServices::openUrl(QUrl(QUrl::fromLocalFile(string)));
    Но теперь ошибка shellexecute failed (error 2)
    ShellExecute 'file:///D:/My Programs/build-ObservationLog-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug/Журнал_0_Вт_июн_26_2018/Видеокамера/00893.MTS' failed (error 2).
      d
      • 26 июня 2018 г. 21:08

      И у меня проблема не сборки, а добавления файлов в проект с русскими буквами.

        Evgenii Legotckoi
        • 26 июня 2018 г. 21:24

        А файл то по тому пути у вас вообще есть? Проверяли в файловом менеджере?

          d
          • 26 июня 2018 г. 21:57

          Да, но проблема , та же всё же :

                      QTextCodec *codec_1251 = QTextCodec::codecForName("Windows-1251");
                      QString string = codec_1251->toUnicode(index.model()->data(index, Qt::DisplayRole).toByteArray());
                      qDebug()<<string;
          Вывод "D:/My Programs/build-ObservationLog-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug/log_1_Р’С‚_РёСЋРЅ_26_2018/test/00882.MTS" . Кодировка !!!!

            d
            • 26 июня 2018 г. 22:00

            Не подходит UTF-8, Windows-1251 ...что ещё можно попробовать?

              d
              • 26 июня 2018 г. 22:31

              Файл по пути есть. Windows-1251 / Скорей подходит , но почему то ShellExecute 'file:///D:/My Programs/build-ObservationLog-Desktop_Qt_5_11_0_MSVC2017_64bit-Debug/Журнал_0_Вт_июн_26_2018/Видеокамера/00893.MTS' failed (error 2).  ......Нормальный путь я проверил. У вас на сайте сообщения не правятся.

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                Ua

                Qt - Тест 001. Сигналы и слоты

                • Результат:84баллов,
                • Очки рейтинга4
                Ua

                Qt - Тест 001. Сигналы и слоты

                • Результат:42баллов,
                • Очки рейтинга-8
                ОК

                Qt - Тест 001. Сигналы и слоты

                • Результат:47баллов,
                • Очки рейтинга-6
                Последние комментарии
                ИМ
                Игорь Максимов22 ноября 2024 г. 21:51
                Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                Evgenii Legotckoi
                Evgenii Legotckoi31 октября 2024 г. 23:37
                Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                A
                ALO1ZE19 октября 2024 г. 17:19
                Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь Максимов5 октября 2024 г. 16:51
                Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas55 июля 2024 г. 20:02
                QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                Сейчас обсуждают на форуме
                f
                firstlunoxod15 февраля 2025 г. 13:46
                Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                Дмитрий
                Дмитрий3 февраля 2025 г. 16:24
                Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                NW
                Nayo Wai30 января 2025 г. 19:22
                не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                n
                nkly3 января 2025 г. 12:52
                Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                M
                Marsel17 августа 2023 г. 0:26
                OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                Следите за нами в социальных сетях