Seite 1 von 1

Wie macht Ihr das: Mac und PC Quelldateien und Encoding

Verfasst: 17. September 2009 22:17
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

Verfasst: 17. September 2009 22:50
von Christian81
Wenn man in Quellcodedateien non-Ascii Zeichen benutzt muss man eben damit leben. non-Ascii gehören nicht in Quellcodedateien.

Verfasst: 17. September 2009 23:31
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

Verfasst: 18. September 2009 06:31
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.

Verfasst: 18. September 2009 07:10
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.

Verfasst: 18. September 2009 08:30
von NoRulez
Um sicher zu sein kannst Du folgende Funktionen aufrufen:

Code: Alles auswählen

QString::fromLatin1();
QString::fromUtf8();
LG NoRulez

Verfasst: 18. September 2009 08:48
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 :)

Verfasst: 18. September 2009 08:56
von AuE
Der QT Editor macht die Sachen kapuut (um nochmal diesen geilen Effekt darzustellen) Hatte auch das Prob....

Verfasst: 18. September 2009 09:10
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

Verfasst: 20. September 2009 00:02
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

Verfasst: 21. September 2009 10:08
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!

Verfasst: 21. September 2009 10:17
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...