Название: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Acrobat от Январь 02, 2016, 14:36 Доброго времени суток. При открытии файлов QFileDialogом с названием в русской кодировки возникает исключение.
QString FileName = QFileDialog::getOpenFileName(0,"OpenFile", "","Wav Files (*.wav);"); Следующий код не помогает: QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); Хотя в QDebug() выводит без кракозябров. Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: gil9red от Январь 02, 2016, 15:19 Qt ведь не выкидывает исключения
Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Acrobat от Январь 02, 2016, 15:23 Фраймворк QT может и не выкидывает, а вот функции API которые он использует ещё как выкидывают. Но суть то не в этом. Не получается открыть файлы QFileDialogом имена которых в кириллической кодировке. Как быть?
Ниже скриншот с окном вызванным из обработчика исключения. Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Bepec от Январь 02, 2016, 19:55 Вот на этом окошке что stream не должен быть нулём.
Найдите у себя в коде все stream и построчно пройдите в дебаггере. Видимо вы не проверяете успешность операций. Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Acrobat от Январь 02, 2016, 19:57 Спасибо за ответ.
Вот мой код: QString FileName = QFileDialog::getOpenFileName(0,"OpenFile", "","Wav Files (*.wav);"); // здесь исключение if (FileName == "") return; Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: kambala от Январь 04, 2016, 14:04 кодировка где-то задается в программе? в main() например
Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Acrobat от Январь 04, 2016, 16:06 реализация точки входа стандартная я её не менял:
int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } Возможно выход в использовании API ? Вообще QT я использую около месяца, очень нравится, но столько уже приколов наблюдал. Особенно глюки с .pro файлом Название: Re: QTextCodec::setCodecForLocale проблемы с кодировкой Отправлено: Bepec от Январь 04, 2016, 17:46 Приводите ВЕСЬ код, выкладывайте ВЕСЬ проект и тогда мб кто нибудь и поможет. А то что сейчас - называется гадание на кофейной гуще.
PS в диалоге открытия вылетов не находилось, следовательно проблема в вашем коде. |