Название: кодировки. почему работает? Отправлено: george от Май 09, 2011, 16:58 Есть база MySQL, повсюду стоят кодировки utf-8.
Код пишу в Qt Creator на Win7, - в креаторе кодировка файлов по умолчанию windows-1251. - в коде Код: QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); Запрос выполняется нормально, можно просмотреть результат Код: query.exec("SELECT Преподаватель FROM Schedule;"); Каким образом база понимает запрос, если кодировка в базе utf-8, а запросы к ней выполняются из кода в windows-1251? Название: Re: кодировки. почему работает? Отправлено: blood_shadow от Май 09, 2011, 21:46 Каким образом база понимает запрос, если кодировка в базе utf-8, а запросы к ней выполняются из кода в windows-1251? строка Код: QTextCodec::setCodecForCStrings(codec); изменяет память) будет использоваться метод перекодирования с "Windows-1251" в utf-16, то есть ты явно указал что текст у тебя в "Windows-1251" и поэтому перекодировка будет правильной, query.exec принимает QString, то есть тут присутствует неявная конвертация с 1251 в юникод это все есть в ассистанте в описании класса QString Название: Re: кодировки. почему работает? Отправлено: serg_hd от Май 10, 2011, 00:34 Поле таблицы на русском? Круть, пока такого не встречал...
|