Unerklärliches beim Erstellen eines NSMutableArrays (Umlaute)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Unerklärliches beim Erstellen eines NSMutableArrays (Umlaute)

    Hallo Leute,

    ich ziehe mir aus einer csv den Inhalt heraus und erstelle mir dann an MutableArray, in dem jede Zeile der *.csv ein Element ist.

    Quellcode

    1. savedFile = [NSFileHandle fileHandleForReadingAtPath:fileName];
    2. fileContent = [[NSString alloc] initWithData:[savedFile readDataToEndOfFile] encoding:NSISOLatin1StringEncoding];
    3. NSMutableArray *boegenArray = (NSMutableArray*)[fileContent componentsSeparatedByString:@"\n"];



    Das boegenArray hat zum Beispiel atIndex:0 diesen Inhalt:

    Quellcode

    1. 2012-03-29 10:34:34.224 testArray[4569:207] AU102; Köln 123; 28-03-2012; 15:15:18; 15:16:41; 1; weich/soft; asdfasgsdg; 4; 4; hart/hard; sdgödfhgödfhbäfön; A; 8; ; sdgjkdsfhäosföldbks; 15; 10; hart/hard,weit/large; SDÖGJDFHGJWAE; ; 6; hoch/high; sdgehgdfhew; ; 6; niedrig/low; sdgdsfhrtlhdfbcv ; ; 4; niedrig/low; dfhsfhkdfsödö; ; 8; hoch/high; dfgerhergsdv; ; 10; ; sgsdkgdfökbkl; ; i.O.; weit weg/far; fbdflbdfb; ; n.i.O.; ; dfbdfkbsäs; ; i.O.; kurz/short; dfbladfbdf; ; n.i.O.; ; dfbgnfgn dskdsfgk ; ; i.O.; frei/free; sdvkldfbllöq; ; 10; klein/small; sddfhderpfl ; ; 6; niedrig/low; dfkgdfkba; ; 4; klein/small; dflkhndflönhö; ; 4; fknlfgmnü; ; 10; fgönfgnäö; ;


    Nun erstelle ich mir ein neues MutableArray, wobei mit

    Quellcode

    1. NSMutableArray *boegenFertig = [[NSMutableArray alloc] init];
    2. for(int i=1; i<[boegenArray count];i++){
    3. [boegenFertig insertObject:(NSMutableArray*)[[boegenArray objectAtIndex:i] componentsSeparatedByString:@";"] atIndex:i-1];
    4. NSLog(@"%i", [boegenFertig count]);
    5. }


    jedes Element des boegenFertig die Zeile des boegenArrays übernimmt aber wiederum als Array eingefügt wird.

    Also habe ich das boegenFertig Array, das selbst mit Arrays der einzelnen Zeilen befüllt wurde.

    Nun ist aber wenn ich mir ein Element ausgeben lasse, der Text nicht mehr der gleiche wie in boegenArray:

    Quellcode

    1. 2012-03-29 10:37:22.885 testArray[4610:207] (
    2. " AU102",
    3. " K\U00f6ln 123",
    4. " 28-03-2012",
    5. " 15:15:18",
    6. " 15:16:41",
    7. " 1",
    8. " weich/soft",
    9. " asdfasgsdg",
    10. " 4",
    11. " 4",
    12. " hart/hard",
    13. " sdg\U00f6dfhg\U00f6dfhb\U00e4f\U00f6n",
    14. " A",
    15. " 8",
    16. " ",
    17. " sdgjkdsfh\U00e4osf\U00f6ldbks",
    18. " 15",
    19. " 10",
    20. " hart/hard,weit/large",
    21. " SD\U00d6GJDFHGJWAE",
    22. " ",
    23. " 6",
    24. " hoch/high",
    25. " sdgehgdfhew",
    26. " ",
    27. " 6",
    28. " niedrig/low",
    29. " sdgdsfhrtlhdfbcv ",
    30. " ",
    31. " 4",
    32. " niedrig/low",
    33. " dfhsfhkdfs\U00f6d\U00f6",
    34. " ",
    35. " 8",
    36. " hoch/high",
    37. " dfgerhergsdv",
    38. " ",
    39. " 10",
    40. " ",
    41. " sgsdkgdf\U00f6kbkl",
    42. " ",
    43. " i.O.",
    44. " weit weg/far",
    45. " fbdflbdfb",
    46. " ",
    47. " n.i.O.",
    48. " ",
    49. " dfbdfkbs\U00e4s",
    50. " ",
    51. " i.O.",
    52. " kurz/short",
    53. " dfbladfbdf",
    54. " ",
    55. " n.i.O.",
    56. " ",
    57. " dfbgnfgn dskdsfgk ",
    58. " ",
    59. " i.O.",
    60. " frei/free",
    61. " sdvkldfbll\U00f6q",
    62. " ",
    63. " 10",
    64. " klein/small",
    65. " sddfhderpfl ",
    66. " ",
    67. " 6",
    68. " niedrig/low",
    69. " dfkgdfkba",
    70. " ",
    71. " 4",
    72. " klein/small",
    73. " dflkhndfl\U00f6nh\U00f6",
    74. " ",
    75. " 4",
    76. " fknlfgmn\U00fc",
    77. " ",
    78. " 10",
    79. " fg\U00f6nfgn\U00e4\U00f6",
    80. " ",
    81. " "
    Alles anzeigen



    Wie man sieht wurde aus "Köln 123" --> " K\U00f6ln 123"
    So passiert es mit allen Umlauten. Habt ihr ne Idee wieso die Umlaute hier wieder anders aussehen als im ersten Array?

    Verstehe das einfach nicht, das ergibt doch eigentlich keinen Sinn?

    Vielen Dank
    Klist

    Edit:

    Wenn ich nun aber ein einzelnes Element von boegenFerti ausgebe:

    Quellcode

    1. NSLog(@"%@", [[boegenFertig objectAtIndex:0] objectAtIndex:1]);



    kommt das dabei heraus: "2012-03-29 10:53:42.551 testArray[4800:207] Köln 123"


    Kann ich nun davon ausgehen, dass die Umlaute da sind, oder nicht?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von klist ()

  • Die Umlaute sind ok. Wenn man per NSLog ein NSArray ausgibt, dann ist die Ausgabe der enthaltenen NSString Objekte "defekt", da für Umlaute und andere Sonderzeichen wohl der Unicode-Wert des Zeichens als Hex ausgegeben wird. Da scheint Apple bei der Ausgabe eines NSArray wohl eine andere Formatierung als bei der Ausgabe eines NSString zu verwenden.