linux. Программа не находит файл, если в пути к нему есть русские буквы, как лечить? |
Здравствуйте, гость ( Вход | Регистрация )
linux. Программа не находит файл, если в пути к нему есть русские буквы, как лечить? |
Rocky |
24.11.2010, 10:22
Сообщение
#1
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Всем привет! Кто-нибдь знает, как решается проблема, если путь до самой программы, или пути к открываемым файлам, содержат русские буквы... В винде все работает.. а в линуксе нифига (
Вот например открываю текстовый файл
oMethodic.sMethodicName содержит русское слово =), которое абсолютно нормально отображается в QMessageBox. В то же время внутрь if (file1) я не попадаю... UPD Да, сам путь и файл естественно существует. Сообщение отредактировал Rocky - 24.11.2010, 10:23 |
|
|
BRE |
24.11.2010, 10:31
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
А в main установлены всякие?
QTextCodec::setCodecForTr(...) QTextCodec::setCodecForCString(...) А define UNICODE определен? |
|
|
Rocky |
24.11.2010, 13:38
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
А в main установлены всякие? QTextCodec::setCodecForTr(...) QTextCodec::setCodecForCString(...) да. Вот
А define UNICODE определен? Нет, это для MS Visual Studio в винде... Под linux (в Qt Creator) не определяю. |
|
|
BRE |
24.11.2010, 14:12
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
Rocky |
24.11.2010, 14:22
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
ыыыыы... utf-8 там.... это из-за этого да? блин, вечером попробую тогда исправить. Спасибо!
|
|
|
Rocky |
25.11.2010, 10:11
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
Ну фиг знает. Исправил. Сделал так
Но теперь проблемы с загрузкой русского текста из текстовых файлов... Вчера пол-вечера и пол-ночи ковырялся и понял что эти кодеки, пожалуй, самое непонятное что есть в Qt для меня... (само собой читал ассистант). Вот все исходники программы сохранены в UTF-8. В main-е стоит то что выше привел. Вся информация, которая отображается во всяких QMessageBox находится в одном файле, тоже в кодировке UTF-8. В таком виде:
Проблем никаких нет, все отображается нормально как в windows, так и в linux. Проблемы начинаются при загрузке текста из файла (я использую стандартные потоки ввода/вывода). Вот файл пишу и считываю так:
Файл как показывает виндусовский notepad, в кодировке ANSI. В windows все нормально, в linux - кракозябры... Что не так подскажите пожалуйста? (( --- UPD В то же время, если таким вот образом писать файл с русским текстом чисто в линуксе, то все нормально и пишется, и читается потом. Видимо, не получится таскать с собой все сохраненные файлы программы из одной ОС в другую ( Сообщение отредактировал Rocky - 25.11.2010, 17:16 |
|
|
Текстовая версия | Сейчас: 27.12.2024, 7:59 |