Ich habe einige Probleme mit spanischen Zeichen, die in einer iOS-App angezeigt werden. Der Code in Frage ist alle C++, und geteilt zwischen einer Windows-App und eine iOS-App. Kompiliert in Windows mit Visual Studio 2010 (Zeichensatz ist Multi-Byte). Und kompiliert mit Xcode 4.2 auf dem Mac.
Zurzeit verwendet der Code char-Zeiger, und mein erster Gedanke war, dass ich stattdessen zu wchar_t-Zeigern wechseln muss. Mir ist jedoch aufgefallen, dass die spanischen Zeichen, die ich ausgeben möchte, in Windows mit char-Zeigern problemlos angezeigt werden. Das brachte mich auf den Gedanken, dass diese Zeichen Teil des Multi-Byte-Zeichensatzes sind und ich mir nicht die Mühe machen muss, alles auf wchar_t zu aktualisieren, bis ich bereit bin, einige japanische, russische, arabische usw. Übersetzungen zu machen.
Leider werden die spanischen Zeichen in der Windows-Anwendung zwar richtig angezeigt, aber nicht, wenn sie auf dem Mac/iOS erscheinen. Experimentieren mit wchar_t gibt, sehe ich, dass sie richtig angezeigt werden, wenn ich alles über konvertieren. Aber was ich nicht verstehe, und ich hoffe, jemand kann mich aufklären, wie der Grund ... ist, warum sind die Zeichen perfekt gültig auf dem Windows-Rechner, gleichen Code, und Dislaying als Kauderwelsch (erfordern wchar_t statt) in der Mac-Umgebung?
Macht Visual Studio etwas mit meinen Zeichenzeigern hinter den Kulissen, was der Mac nicht tut? Mit anderen Worten: Ist die Microsoft-Umgebung einfach nachsichtiger mit meinem architektonischen Versehen, als ich char-Zeiger anstelle von wchar_t verwendet habe?
Da ich bereits weiß, dass meine Antwort von char-Zeigern zu wchar_t-Zeigern konvertieren ist, ist meine eigentliche Frage dann "Warum erfordert der Mac wchar_t, aber in Windows kann ich char für die gleichen Zeichen verwenden?"
Danke.