Ich hatte ja vor einigen Wochen schon Mal nachgefragt wie ich von C++ auf die Resourcen zugreifen kann. Das hat soweit dann auch alles gut funktioniert.
Jetzt stehe ich aber vor dem folgenden Problem:
Ich möchte mit
"cfString = CFBundleCopyLocalizedString(CFBundleGetMainBundle(), cfString, CFSTR("Error"), CFSTR("Localizable"));"
eine String aus den Resourcen auslesen und in einen cString umwandeln
"CFStringGetCString(cfString, buffer, 256, kCFStringEncodingWindowsLatin1);"
Das funktioniert gut solange der String keine Umlaute enthält. Sobald Umlaute vorkommen sind statt deren "wirre Zeichen" im cString. Irgendwie habe ich das Gefühl, dass die Zeichen eben nicht in ISO-8859-1 (also ASCII von 0 bis 255) umgewandelt werden sondern weiterhin im UTF-8 Format sind. Habe für das "Encoding"-Format auch schon andere Werte ausprobiert, aber auch ohne ein passendes Ergebnis.
Was mache ich falsch bzw. wie funktioniert es richtig?
Jetzt stehe ich aber vor dem folgenden Problem:
Ich möchte mit
"cfString = CFBundleCopyLocalizedString(CFBundleGetMainBundle(), cfString, CFSTR("Error"), CFSTR("Localizable"));"
eine String aus den Resourcen auslesen und in einen cString umwandeln
"CFStringGetCString(cfString, buffer, 256, kCFStringEncodingWindowsLatin1);"
Das funktioniert gut solange der String keine Umlaute enthält. Sobald Umlaute vorkommen sind statt deren "wirre Zeichen" im cString. Irgendwie habe ich das Gefühl, dass die Zeichen eben nicht in ISO-8859-1 (also ASCII von 0 bis 255) umgewandelt werden sondern weiterhin im UTF-8 Format sind. Habe für das "Encoding"-Format auch schon andere Werte ausprobiert, aber auch ohne ein passendes Ergebnis.
Was mache ich falsch bzw. wie funktioniert es richtig?