Название: QFile::copy() - проблема с русскими именами [РЕШЕНО] Отправлено: 24pm от Март 28, 2009, 15:38 QFile::copy(fileName, newFileName) отрабатывает нормально если в пути нет русских букв!
Qt 4.5, Windows XP. Подскажите куда смотреть, пожалуйста! Название: Re: QFile::copy() - проблема с русскими именами Отправлено: igor_bogomolov от Март 28, 2009, 16:06 Смотреть в сторону QTextCodec.
Код
Название: Re: QFile::copy() - проблема с русскими именами Отправлено: 24pm от Апрель 07, 2009, 02:23 Что-то не помогает. Пробовал и
Код И явно Код Куда ещё глянуть? Название: Re: QFile::copy() - проблема с русскими именами Отправлено: igor_bogomolov от Апрель 07, 2009, 08:41 Все туда же. Читайте описание класса QTextCodec. То что я написал, это всего лишь пример. Установите требуемую кодировку. Скорее всего "Windows - 1251".
И пользуемся поиском. Название: Re: QFile::copy() - проблема с русскими именами Отправлено: lit-uriy от Апрель 07, 2009, 10:03 2 24pm,
Для случая когда ты строковую константу оборачиваешь в функцию tr() кодек ставь такой же, какая кодировка у тебя в файле с исходником. А переменные в функцию tr() оборачивать незачем. Название: Re: QFile::copy() - проблема с русскими именами Отправлено: 24pm от Апрель 07, 2009, 11:05 Описание QTextCodec читал, там сказано, что кодировка "System" принимает значение системной кодировки (в моём случает windows-1251).
Кодировка исходников UTF-8. Если переменные не заворачивать в tr(), то копирование не работает. Имеет ли смысл заменить "System" на UTF-8? Попробую... Название: Re: QFile::copy() - проблема с русскими именами Отправлено: lit-uriy от Апрель 07, 2009, 11:08 2 24pm, "Если переменные не заворачивать в tr(), то копирование не работает."
глянь тему: QProcess не открывает русские файлы (http://www.prog.org.ru/index.php?topic=9109) в плане использования переменной содержащей путь к файлу Название: Re: QFile::copy() - проблема с русскими именами Отправлено: 24pm от Апрель 07, 2009, 16:38 Вариант
Код работает, но не могу добиться работы, если имя файла в переменной. Пробовал Код Если указываю Код и сохраняю переменную в файл, то туда она записывается в кодировке windows-1251, но копировать всё равно не хочет. Что ещё можно предпринять? P.S. ссылку на QProcess я прочесть успел (там советовали использовать toLocal8Bit()), но сейчас она не действует. Название: Re: QFile::copy() - проблема с русскими именами [РЕШЕНО] Отправлено: 24pm от Апрель 09, 2009, 03:21 Итак, рабочий код:
Код Кодировка исходников utf-8, системная windows-1251. Однако, код не хотел работать из-за того, что один из подключаемых файлов был в кодировке windows-1251, что удалось обнаружить не сразу! Большое спасибо всем отозвавшимся! |