crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QSettings и кирилица в INI-файле
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2010, 18:25
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Есть ini-файл, у которого значения параметров содержат кирилицу, читаю от туда лабуду.

ОСь - Виндовоз 2к
Кодировка штаттная - Win1251(CP-1251).

Пробовал перекодировать в UTF-8 тоже лабуда, только подругому.


Можно ли как-то прочитать такой файл с помощью QSettings?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 28.1.2010, 18:38
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


У меня как-то был ini файл сгенеренный из Delphi, QSettings его осилить не смог. Пришлось искать готовый класс на C++ для работы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 28.1.2010, 18:39
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


IMHO
void QSettings::setIniCodec ( QTextCodec * codec )
и разбираться какая нужна кодировка.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 28.1.2010, 18:40
Сообщение #4


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


А может стоит попробовать поиграть функциями setCodecFor*?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 28.1.2010, 18:50
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(BRE @ 28.1.2010, 21:39) *
void QSettings::setIniCodec ( QTextCodec * codec )
блин нафик, я в 4.4 сейчас работаю, а это в 4.5 появилось

Цитата(Kagami @ 28.1.2010, 21:40) *
А может стоит попробовать поиграть функциями setCodecFor*?
там много не поиграешь, локальная кодировка известна и установлена для Си-строк. Ну для tr() тут не поможет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 28.1.2010, 23:13
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Я попробовал "лечение" отсюда: http://www.qtforum.org/article/26151/how-t...-qsettings.html

Но не заработало что-то (
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 30.1.2010, 12:45
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 28.1.2010, 17:25) *
Есть ini-файл, у которого значения параметров содержат кирилицу, читаю от туда лабуду.


а сам файлик в ANSI или UTF8 кодировке? лучше приатач ини файлик, а там разберемся... если конечно проблема еще не решилась
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.1.2010, 13:00
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(DIMEDROLL @ 30.1.2010, 15:45) *
а сам файлик в ANSI или UTF8 кодировке?
Цитата(Litkevich Yuriy @ 28.1.2010, 21:25) *
Кодировка штаттная - Win1251(CP-1251).
пробовал и в UTF-8, получил лабуду другого типа
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 30.1.2010, 13:03
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Юра, а покажи как читаешь значения, точнее во что преобразуешь QVariant.
Я бы попробовал в QByteArray и дальше через QTextCodec.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 30.1.2010, 13:03
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


да, я понял, а файлик почему не приатачил?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 6:17