| | |
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Autor | Správa |
---|
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal Milsa: 11.10.2011 16:18 | |
|
Problém je ten, že ak napíšem niečo takéto, síce to prejde, ale nemám zobrazené znaky s diakritikou:
Kód: str = QString::fromUtf8("Deň"); Toto mi odmieta skompilovať: QString str; Kód: str = QString::fromUtf8((const char *)str.sprintf("%d. deň v roku", den)); Nefunguje to ani takto: Kód: str = QString::fromUtf8(str.sprintf("%d. deň v roku", den)); Túto premennú potom vkladám do QLabel: Kód: ui->lblPopis->setText(str);
Predpokladám, že je problém iba v pretypovaní, ale netuším čo s tým. Mohli by ste mi poradiť ako to správne pretypovať? Prípadne, ak by ste mi mohli poradiť, ako to vložiť celé do jedného riadku ui->lblPopis->setText(...).
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 11.10.2011 19:43 | |
|
Zdrojový kód je naozaj v UTF-8 kódovaní?
|
|
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 19:54 | |
|
chrono píše: Zdrojový kód je naozaj v UTF-8 kódovaní? To nerieš. K riešeniu to nepomôže, ale, aby si mal prehľad:
Je to komplikovanejšie. UI súbory (XML so vzhľadom formulára) je v UTF-8 a CPP zdrojáky sú CP 1250. Čiže ja musím prekonvertovať CP 1250 na UTF-8 a tak to zobraziť. Lenže, ak ako parameter použijem funkciu vracajúcu QString miesto const char *, tak ma kompilátor nepustí ďalej. Potrebujem to pretypovať.
Akože tiež mi to celkom nesedí (malo by to ísť z UTF a nie do UTF), ale keď som skúsil miesto funkcie sprintf dať konštantný reťazec na konverziu fromUtf8, tak to fungovalo. // pridané po 4 minútach od posledného príspevkuOprava: V úvodnom príspevku prvý kód funguje (zobrazí sa to správne), ale potrebujem tam napratať funkciu sprintf, s ktorou to nefunguje.
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.10.2011 20:21 | |
|
Takze ak to chces cele v jednom riadku, skus takto:
Kód: ui->lblPopis->setText( QString::fromUtf8( str.sprintf( "%d. deň v roku", den ).toAscii() ) );
|
|
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 20:28 | |
|
Takže to síce funguje (skompiluje to), ale diakritika je v háji.
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.10.2011 20:32 | |
|
Mne to zobrazilo korektne, takze teraz neviem.
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 20:35 | |
|
Ako mi inde písali, sprintf podporuje len LATIN-1 a preto mi zdivočelo ň
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.10.2011 20:44 | |
|
Lenze ak to mne funguje, tak zrejme je Chronova otazka na mieste.
_________________ Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS. |
|
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 20:53 | |
|
Fico píše: Lenze ak to mne funguje, tak zrejme je Chronova otazka na mieste. Zdroják je v CP1250. Môžeš mi poslať tvoj zdroják? Nejako si to uť prispôsobím, aby to šlo.
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | |
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 21:09 | |
|
Fico píše: Tu mas pre istotu cely projekt: http://www.megaupload.com/?d=B0HXY1OKRobil som to v linuxe, no aj tak si nie som isty, ci ti to pomoze. Zrejme bude práve v Linuxe problém. Ja to mám na Windows a ten interne používa vo formulároch UTF-16. V Linuxe je to UTF-8. // pridané po 4 minútach od posledného príspevkuTakže niečo to pomohlo. Tvoj kód je celý v UTF-8 a môj Qt Creator vo Windows s ním má problém. Nevie správne zobraziť reťazce, keďže očakáva kódovanie CP1250. Keby ho viem prinútiť, aby súbory otváral s UTF-8, možno tú konverziu ani nebude treba.
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | |
Registrovaný: 11.10.11 Prihlásený: 28.02.16 Príspevky: 7 Témy: 1 | Napísal autor témy Milsa: 11.10.2011 22:36 | |
|
Budem tu o pol hodinu a napíšem nové poznatky.
// pridané po 51 minútach od posledného príspevku
Takže veci sa majú takto:
V mojom projekte bolo vo formulároch (UI) kódovanie UTF-8 a v zdrojáku (CPP) kódovanie CP1250. V nastaveniach (tie obrázky, čo si tu dal) som to menil už včera a stále boli súbory v CP1250. Tvoj projekt sa načítal chybne (bol v UTF-8), Qt ho bral zrejme ako CP1250. Potom som zistil, že celý problém s tým, že som nevedel prehodiť zdrojáky na UTF-8 bol v tom, že som nevymazal súbor *.pro.user. Po jeho vymazaní a prekódovaní súborov na UTF-8 (PSPad) je už všetko v poriadku. Lenže mi to stále nezobrazuje korektne. Tvoj projekt ide dobre, takže skúsim zistiť, v čom je problém.
// pridané po 16 minútach od posledného príspevku
TAkže celý môj problém bol v tom, že o pár riadkov nižšie som mal toto:
ui->lblPopis->setText(str);
Toto mi prepísalo dobrý text a ja som bol stále v tom, že mi to nefunguje.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 13 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Pretypovanie z 'Int' do 'double' C++ v Assembler, C, C++, Pascal, Java | 1 | 299 | 13.01.2021 17:17 Jur_3 | | C++ a Dynamické pretypovanie funkcie z DLLky... v Assembler, C, C++, Pascal, Java | 4 | 759 | 07.08.2009 22:15 marian_sk | | pretypovanie v Assembler, C, C++, Pascal, Java | 1 | 755 | 27.06.2009 8:47 neutronmind | | pretypovanie (prevod typu) v Technológia .NET | 5 | 2136 | 07.12.2008 21:41 vyhno | | Pretypovanie tzv. Typecasting v Assembler, C, C++, Pascal, Java | 12 | 935 | 26.07.2012 20:46 dablik415 | | pretypovanie pointeru na void v Assembler, C, C++, Pascal, Java | 1 | 631 | 03.10.2009 18:07 plna.hlava | | Mám sa učiť C ++/objective C/ C#? v Assembler, C, C++, Pascal, Java | 5 | 733 | 08.07.2014 20:40 XOLOO | | Hledá se programátor C/C++ pro vesmírné projekty (Praha) v Ponuka práce | 0 | 1123 | 10.05.2016 14:59 evolvsys | | K: PC Literaturu- C++/C#/java/python/ruby/RoR v Kúpim | 0 | 411 | 13.05.2014 18:16 expresado | | rozdiel medzi Borland 3.1 C++ vs Net. C++ v Assembler, C, C++, Pascal, Java | 4 | 577 | 20.07.2010 12:54 walther | | Hladam hracov na C&C Generals Zero Hour v Počítačové hry | 10 | 1250 | 07.03.2007 19:22 Spirit | | Naučte se C++ za 21 dní + C++Builder 6 v Assembler, C, C++, Pascal, Java | 18 | 2414 | 21.05.2010 21:08 Wpegb | | Čo mi treba na programovanie v C/C++ v Assembler, C, C++, Pascal, Java | 17 | 1147 | 25.09.2011 18:14 reDo | | aky je rozdiel medzi C++ a Visual C++ ? v Assembler, C, C++, Pascal, Java | 8 | 1964 | 19.02.2011 22:46 vendo2 | | Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017 v Ponuka práce | 1 | 553 | 24.10.2016 15:28 michalesku | | Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android) v Vymením a darujem | 0 | 431 | 01.04.2019 11:20 tomasteicher |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|