Wie macht Ihr das: Mac und PC Quelldateien und Encoding

Alles rund um die Programmierung mit Qt
Antworten
Wolferl2
Beiträge: 10
Registriert: 9. November 2008 00:54
Kontaktdaten:

Wie macht Ihr das: Mac und PC Quelldateien und Encoding

Beitrag von Wolferl2 »

Hallo,

ich habe mal eine einfache Frage an Euch. Es gibt doch sicherlich mehr als einen (nämlich mich...), der Software für den Mac und für Windows schreibt.

Ich habe z.B. echt ein Problem mit dem Encoding der Quelldateien. Ich bekomme kein Format hin, dass auf meinen zwei Windosen und auf dem Mac gleichermaßen gelesen werden kann (und deutsche Umlaute enthält).

Unicode mit Header mag der QT Creator eigene MinGW Compiler auf dem Windows Rechner nicht, UTF8 ohne Header versteht er schon gar nicht und auf dem Mac muss ich die Dateien dann immer per Hand aus dem Windows Format in das UTF8 vom Mac umwandeln. Mac und Microsoft Studio können miteinander, aber ich habe nur auf dem einen Rechner eine Lizenz dafür, den nehme ich aber nicht mehr zum Entwickeln...

Bitte schaut doch mal, ob Ihr mir da einen Tipp geben könnt, damit ich beim Übertragen der Dateien nicht immer von Hand konvertieren muss (was recht fehleranfällig ist...)

Weiterhin würde mich interessieren, ob jemand den QT-Creator richtig produktiv einsetzt (für Windows nehme ich Microsoft für das Release, beim Mac bin ich froh, dass ich mich nicht noch mit XCode rumschlagen muss und bin mit dem QT Creator glücklich). Allerdings kann ich auch keine Projektdatei und nichts auf beiden Systemen verwenden, da ich unterschiedliche Compilerdirektiven habe.

Alles in allem ist das hin und her von Windows Test zu Mac zu Windows Produktiv recht umständlich und ich würde mich freuen, von Euch zu hören, ob man da was besser machen kann.

Vielen Dank und schöne Grüße

Wolfgang
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn man in Quellcodedateien non-Ascii Zeichen benutzt muss man eben damit leben. non-Ascii gehören nicht in Quellcodedateien.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Wolferl2
Beiträge: 10
Registriert: 9. November 2008 00:54
Kontaktdaten:

Beitrag von Wolferl2 »

Ja, welche Alternativen gibt es?

Man muss doch irgendwie auch Text an die Oberfläche bekommen?

Oder habt Ihr alles in Englisch und dann mit dem QTranslator alles übersetzt?

Ich bin offen für alle Tipps...

Wolfgang
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ja - alles englisch oder eine deutsch-deutsch Übersetzung damit aus ae ein ä wird. Alles andere gibt irgendwo Probleme. Es reicht schon wenn die Locale sich ändert (auf de gleichen Rechner). Man weiß nie wie der Compiler und /oder während der Laufzeit ein nicht-Ascii-String interpretiert wird.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Hi,

mache es genauso wie Christian!
English alles im Source (Entwickler English heisst das bei uns) :-D
Und dann schreibe ich die deutsche Übersetzung und die geht dann ab in Ü-Büro. Die machen dann daraus Englisch etc pp.
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Um sicher zu sein kannst Du folgende Funktionen aufrufen:

Code: Alles auswählen

QString::fromLatin1();
QString::fromUtf8();
LG NoRulez
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

NoRulez hat geschrieben:Um sicher zu sein kannst Du folgende Funktionen aufrufen:

Code: Alles auswählen

QString::fromLatin1();
QString::fromUtf8();
LG NoRulez
Nein - der Editor macht ihm ja das Encoding kaputt - da helfen auch keine Qt-Funktionen mehr :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Der QT Editor macht die Sachen kapuut (um nochmal diesen geilen Effekt darzustellen) Hatte auch das Prob....
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

OK, dann kann ich nur meinen Lieblings Editor erwähnen ;-) PSPad

Da lädst Du die Datei rein, gibst an welche Codierung für welches OS und speicherst. Fertig.

LG NoRulez
Wolferl2
Beiträge: 10
Registriert: 9. November 2008 00:54
Kontaktdaten:

Beitrag von Wolferl2 »

Hallo liebe Forenteilnehmer,

Danke für die vielen Hinweise.

Ich hätte wirklich nicht gedacht, dass es so ein riesen Aufwand ist, Programme plattformunabhängig zu schreiben....

Das mit dem Encoding mit Quelltexteditoren anzugeben habe ich auch schon mit allen Editoren (außer dem PSPad) ausprobiert, Ultraedit, Speededit etc. Alle dort verfügbaren Encoding-Versionen haben mindestens auf einem System nicht geklappt...

Also - ich muss noch mal zurück rudern und die Sachen in englisch eingeben. Dummerweise klappt es mit den Sachen aus dem QT Designer problemlos, dort gibt es auch deutsche Umlaute... Ich habe ca. 100 Strings im Designer, und 10 Strings im Quelltext. Sehr ärgerlich...

Also, wenn noch jemand eine funktionierende Idee hat, bitte melden - ich warte noch eine Woche mit dem Umsetzen der Übersetzungen...

Danke erstmal

Wolfgang
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Achso.... du kannst im Creator auch ne Datei mit Codierung speichern bzw deine Datei mit kodierung neuladen!

Unter Edit -> Select encoding.... weiß allerdings nicht ob/wie das funzt und naja wenn mans für jedes file machen muss ists auch shit!
Wolferl2
Beiträge: 10
Registriert: 9. November 2008 00:54
Kontaktdaten:

Beitrag von Wolferl2 »

Das Problem mit dem Unicode oder UTF 8 etc. ist, dass es mit dem QTCreator beim Mac klappt (dort kennt der Compiler das Format), nicht aber auf dem Windows Rechner. Ich kann die Datei zwar editieren - die Umlaute schauen echt gut aus - aber der Compiler stolpert direkt über die ersten zwei Kontrollbytes für das Format. Wenn ich ohne die Kennung speichere, dann stolpert der halt über das erste non ASCII Zeichen...
Und ich habe keine Idee, wie man dem Compiler ein Encoding mitgeben kann...

Das ist echt lästig.

Der Microsoft Compiler kann mit den UTF-8 Dateien umgehen. Den habe ich aber nicht auf beiden Windows Rechnern drauf. Und noch eine zweite Lizenz zum Rumspielen mag ich auch nicht kaufen...
Antworten