Hallo zusammen
Nach langem Ringen habe ich es nun endlich geschafft, von Linux über den ODBC-Treiber auf eine MS SQL Datenbank zu greifen. Nun gibt es aber ein Problem bei der Anzeige: Grossbuchstaben sowie Umlaute (und ev. noch andere Zeichen) werden im TableView nicht korrekt dargestellt.
Kann ich die Zeichencodierung eines QSqlTableModel oder eines QSqlQuery global ändern oder muss ich jeden Eintrag über die Funktionen in QString ändern? Oder gibt es noch eine weitere Möglichkeit?
Die Codierung der Tabelle kann ich nicht ändern, da von anderer Seite auch darauf zugegriffen wird.
Cheers
DonTinelli
[gelöst] SQL Zeichencodierung
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
[gelöst] SQL Zeichencodierung
Zuletzt geändert von dontinelli am 30. August 2007 00:03, insgesamt 1-mal geändert.
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
Danke, das hat mir weitergeholfen...
Mitlerweile habe ich herausgefunden, dass es daran liegt, dass in der Datenbank nvarchar als Dateityp angegeben ist, die varchar werde richtig übernommen. Ist jemandem das Problem bekannt, weshalb bei der Umwandlung von nvarchar in QString (über einen QVariant im QSqlQuery) solche "Fehler" entstehen? nvarchar sollte doch auch Unicode sein, oder?
Cheers
DonTinelli
Mitlerweile habe ich herausgefunden, dass es daran liegt, dass in der Datenbank nvarchar als Dateityp angegeben ist, die varchar werde richtig übernommen. Ist jemandem das Problem bekannt, weshalb bei der Umwandlung von nvarchar in QString (über einen QVariant im QSqlQuery) solche "Fehler" entstehen? nvarchar sollte doch auch Unicode sein, oder?
Cheers
DonTinelli
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
Eine Qt-Lösung scheint es wohl nicht zu geben.
Ich habe das Problem jetzt so umgangen, dass ich in der SELECT-Anfrage den Dateityp in varchar konvertiere:
Ich habe das Problem jetzt so umgangen, dass ich in der SELECT-Anfrage den Dateityp in varchar konvertiere:
Code: Alles auswählen
CAST(p.Adresse as varchar)