Umlaute Windows + Oracle SQL
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Umlaute Windows + Oracle SQL
Also entweder sind die Daten falsch in der Datenbank oder deine Umgebungsvariablen für die LOCALE-Einstellungen der DB sind falsch oder was auch immer - da solltest du mal einen Oracle-Experten fragen. Anbei ein Programm welches Dir die Daten konvertiert. Ob es auf einen Windows funktioniert welches nicht Deutsch als Sprache eingestellt hat, bezweifle ich da QString::toLocal8Bit() WideCharToMultiByte(CP_ACP, ...) benutzt.
- Dateianhänge
-
- main.cpp
- (880 Bytes) 187-mal heruntergeladen
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Umlaute Windows + Oracle SQL
Verwendest Du die Unicode-Version von OCI?
-> QString::fromUtf16 oder from fromWCharArray
Wenn qDebug funktioniert, QString::fromLocal8Bit
Try&Error: Ueber alle QTextCode::availableCodecs() loopen und den Text convertieren.
-> QString::fromUtf16 oder from fromWCharArray
Wenn qDebug funktioniert, QString::fromLocal8Bit
Try&Error: Ueber alle QTextCode::availableCodecs() loopen und den Text convertieren.
ODT Informatik GmbH, Reto Tschofenig
[Workaround] Re: Umlaute Windows + Oracle SQL
Vielen Dank für eure Hilfe und vielen Dank Christian für den Workaround!
Es funktioniert jetzt. Jetzt habe ich nachdem alles fertig ist Zeit um eventuell das Problem anders zu lösen!
Code: Alles auswählen
QString SqlQuery::valGetString(int col)
{
return QTextCodec::codecForLocale()->toUnicode(QString::fromUtf8(OCI_GetString(this->result,col)).toLocal8Bit());
}