Danke schon mal für Eure Ideen ...
also eingtragen in die SQLite Datenbank wurde der Pfadname vom iPhone also von iOS5. Eine Sache an der ich jetzt nichts ändern kann. Mit meinem Tool "iTwin" (
www.i-twin.de) hole ich diese Daten reverse-engeneering-mäßig da wieder raus und zeige sie an. Leider beschränkt sich das Problem nicht nur auf ÄäÖöÜüß sondern es kann mal wieder alles vorkommen ... Chinesisch, Japanisch, Russisch etc. so dass der einfache StringReplace leider ausscheidet.
Ich hatte einen Teilerfolg hiermit:
Path := String(WideStringToString(UTF8ToString(RawByteString(Path))));
und für einen Moment dachte ich das isses, weil mit diesem (zugegebenerweise fragwürdigen) Konstrukt aus meinem komischen Ä ein vernünfiges Ä gemacht wurde, aber diese Zeile versagt natürlich bei sämtlichen andern Zeichen wie z.B. Kyrill. Zur Erklärung: WideStringToString ist eine Routine aus der
DP, welche ein WideCharToMultiByte mit entsprechender Codepage meiner Wahl durchführt. Ich habe nicht nur 1252 und 1201 sondern auch zahlreiche andene Codepages durch getestet ... nix Vernünftiges bzw. Universelles, leider.
Aus jetziger Sicht scheint ein einfaches UTF8ToString mit anschießendem StringReplace einen Großteil meiner Probleme, bis auf Weiteres zu lösen. Ganz korrekt ist das jedoch nicht ... Mal abwarten, wie lange es gut geht