|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
QT4 mingw проблемче ...
|
|
Автор |
Goose () |
Публикувано | 19.02.09 00:20 |
|
Здравейте,
Закъсах с една до болка тъпа постановка, подозирам, че проблема е безкрайно дребен, но не мога да го видя ...
Постановката е следната: Qt 4.4.3, mingw32-c++ (GCC) 3.4.2
Проблема - кирилица в сорс файла след компилация излиза на гущери и маймуни. Ако конфигна и добавя транслатор - проблеми с кирилицата, минала прес него няма ...
И породените от това последствия - опит за извличане на данни от mysql и изкарването им на екран, ако в тях има кирилица, са меко казано трагични.
Базата е читава, проверено, цялата тази постановка под FreeBSD работи коректно, но за съжаление ми трябва под Win ...
Ще се радвам, ако някой сподели идеи къде може да е проблема, аз вече съвсем окъсях от към такива ...
Поздрави,
| |
Тема
|
Re: QT4 mingw проблемче ...
[re: Goose]
|
|
Автор |
zaphod (мракобес) |
Публикувано | 19.02.09 08:44 |
|
я да видим колко идиота ще ти предложат да не ползваш кирилица в сорса....
щом ти трябва под вин, виж дали регионалните ти сетинги са настроени както трябва. има една опция в тях, какъв енкодинг да се ползва за програмите с анси стрингове.
NE SUTOR ULTRA CREPIDAM
| |
|
fromLocal8Bit ?
Author's Guild: They don't have the right to read a book out loud
| |
|
Мерси за шута в правилната посока ...
Разковничето се оказа QTextCodec::setCodecForCStrings, под win default encodning бил latin1 ...
Явно доста съм бил забил снощи, за да не зацепя и сам ..
Мерси все пак още веднъж, идеята беше много полезна.
| |
Тема
|
Re: QT4 mingw проблемче ...
[re: Goose]
|
|
Автор |
Goose () |
Публикувано | 19.02.09 16:51 |
|
Edit: Да ама не. Това оправи прекия въпрос, но това което го породи ...
Постановката е следната - QComboBox се пълни с данни от mysql база. Базата е utf8, кирилицата в полето си е коректна. Комбо бокса обаче си го изкарва на гущери и не му пука нито от текст кодеци, нито от нищо ... Взета от комбо бокса четима кирилица се вкарва в базата (там е вече размазана), обратното четене дава още по голямо мазало ... Почвам да се съмнявам в драйвера на mysql-а, почвам да ровя в тази посока :<
p.s. базата е една и съща при тестовете и от бсд-то и от уин-а ... пак да спомена, под бсд всичко си работи, уин-а е с читаво сетнати регионални настройки (вкл. и за нон юникод програми) ...
P.P.S да допълня само, че игра с QTextCodec::setCodecForХХХХ водят само до различен вид на маймунитеРедактирано от Goose на 19.02.09 16:53.
| |
|
mysql имаше освен енкодинг на полето и енкодинг на връзката
мисля се задаваше с SET NAMES 'utf8' еднократно след връзване
Author's Guild: They don't have the right to read a book out loud
| |
|
Зададено е, единственото което не е utf е character_set_server
| |
|
Не мога да ти помогна, само мога да ти съчувствам. Но самият факт, че току-що прочетен стринг при обратен запис се променя, е показателен. На теория, трябва да видиш какъв енкодинг ползва драйвера, но това не винаги е възможно. И последно, причината за всички тези проблеми е в кофти енкодинга на базата, ако смениш на утф16 (или кп1252) най-вероятно ще върви без допълнителни грижи.
| |
|
И през това минах в пристъп на безумие снощи, ефект и от него нямаше ...
Мерси за идеята все пак.
Поздрави
| |
Тема
|
Re: QT4 mingw проблемче ...
[re: Goose]
|
|
Автор |
bira_more (бира) |
Публикувано | 20.02.09 12:10 |
|
В бази данни пише salle - а едва ли има някой по в час от него с MySQL в България.
Та - ако искаш - пиши и там.
Bеer? Mоre?
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|