NSPredicate und Umlaute

  • NSPredicate und Umlaute

    Tach

    gegeben ein mutable Array mit Dictionarys. Die haben u.a. die Keys firstName und lastName. Danach soll gefiltert werden. Das Array ist an einen Arraycontroller gebunden.
    Das Predicate für den Arraycontroller ist folgendermassen.

    Quellcode

    1. NSPredicate *searchPredicate = [NSPredicate predicateWithFormat: @"(firstName contains[cd] %@) OR (lastName contains[cd] %@)", aSearch, aSearch];
    2. [self.resultController setFilterPredicate: searchPredicate];

    Das geht solange gut wie der Suchstring keinen Umlaut enthält. Warum???
    Wenn es im Array dreimal den lastname Schütte gibt wird der der bei aSearch = @"sch" auch dreimal gefunden, bei aSearch = @"schü" überhauot nicht.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • seb2 schrieb:

    Daten von Platte geladen und eventuell ein Encoding-Problem?

    Die Daten sind aus dem Adressbuch und einer mit Windows erstellten CSV Datei. Beide Quellen haben das gleiche Problem.

    Edit:
    lastname != lastName :wacko:
    Was machen die Katzen?

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Chris schrieb:

    seb2 schrieb:

    Daten von Platte geladen und eventuell ein Encoding-Problem?

    Die Daten sind aus dem Adressbuch und einer mit Windows erstellten CSV Datei. Beide Quellen haben das gleiche Problem.

    Edit:
    lastname != lastName :wacko:

    Hast Du das mal mit einer selbst erstellten Datei probiert, die garantiert UTF8 ist?

    Chris schrieb:

    Was machen die Katzen?

    Ich tippe gerade mit schlafendem Kater auf der Brust. :) Dem anderen geht's genauso gut.
    if (!exit(-1)) fprintf(stderr, "exit call failed. Program will continue\n");
  • seb2 schrieb:

    Chris schrieb:

    seb2 schrieb:

    Daten von Platte geladen und eventuell ein Encoding-Problem?

    Die Daten sind aus dem Adressbuch und einer mit Windows erstellten CSV Datei. Beide Quellen haben das gleiche Problem.

    Edit:
    lastname != lastName :wacko:

    Hast Du das mal mit einer selbst erstellten Datei probiert, die garantiert UTF8 ist?

    Edit nicht richtig gelesen? Ich hab mal lastname und mal lastName verwendet. Und bei den Umlauten ist es mir aufgefallen.

    Chris schrieb:

    Was machen die Katzen?

    Ich tippe gerade mit schlafendem Kater auf der Brust. :) Dem anderen geht's genauso gut.

    Na, denen scheint es ja gut zu gehen. :)
    Bei mir liegt der Hund unter dem Schreibtisch.

    Chris
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Chris schrieb:

    Edit nicht richtig gelesen? Ich hab mal lastname und mal lastName verwendet. Und bei den Umlauten ist es mir aufgefallen.

    Sprich: geht und hat sich erledigt, ja?

    (Jetzt mit dem anderen schlafenden Kater auf der Brust tippend)
    if (!exit(-1)) fprintf(stderr, "exit call failed. Program will continue\n");