Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt 5] Problem z UTF-8

Ostatnio zmodyfikowano 2014-02-18 07:49
Autor Wiadomość
Nort
Temat założony przez niniejszego użytkownika
[Qt 5] Problem z UTF-8
» 2014-02-07 23:50:01
Witam, rozpocząłem swoją przygodę z Qt5 i natrafiłem na pewien problem
C/C++
#include "MainWindow.h"

MainWindow::MainWindow()
{
    button = new QPushButton(( "ąęśćółńżź" ), this );
    button->setGeometry( 25, 15, 150, 75 );
}

Otwarte okno wygląda tak:
http://scr.hu/1gq9/t1zvh

Znalazłem, że w Qt5 nie ma już funkcji
C/C++
QTextCodec::setCodecForTr( QTextCodec::codecForName( "UTF-8" ) );

Co mam zrobić, aby wyświetlało mi polskie znaki?
P-104213
MrPoxipol
» 2014-02-08 00:24:01
L"Zażółć gęślą jaźń"
 powinno działać.
P-104214
Nort
Temat założony przez niniejszego użytkownika
» 2014-02-08 01:01:03
Praktycznie to samo, tam gdzie polskie znaki, wyświetla "?"
P-104218
MrPoxipol
» 2014-02-08 10:19:46
No to nie wiem, może to Ci pomoże: http://qt-project.org/doc​/qt-5.0/qtdoc/unicode.html.
P-104226
sajmon
» 2014-02-08 13:01:49
W QtCreatorze jeszcze w menu edycji musisz przekonwertować plik na UTF-8 i ustawić, żeby był zapisywany z takim kodowaniem.
P-104239
Nort
Temat założony przez niniejszego użytkownika
» 2014-02-09 13:20:46
Ale ja nie piszę w Qt Creator tylko w VS 2012
P-104310
MrPoxipol
» 2014-02-09 13:52:32
Na pewno masz opcje zmiany kodowania pliku.
P-104311
sajmon
» 2014-02-09 18:39:41
Jeszcze teraz zauważyłem, że wywołujesz

QTextCodec::setCodecForTr( QTextCodec::codecForName( "UTF-8" ) );

Co działa jeśli używasz QTranslate:

...->setText( tr( "ąą" ) );

Jeśli wpisujesz normalnie string musisz ustawić kodowanie dla stringów

QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "UTF-8" ) );

No i do tego musisz mniec plik zapisany z tym kodowaniem bo inaczej i tak będą krzaki.
P-104328
« 1 » 2
  Strona 1 z 2 Następna strona