[Python-de] Umlaute auf "ähnliche" ASCII-Zeichen abbilden, z.B. ä->a (unicodedata?)

04/01/2013 - 11:38 von Felix Schwarz | Report spam
Hi,

vor einigen Wochen gab es ja eine ganz spannende Diskussion über NFD/NFC usw
auf dieser Liste. Nachdem ich mich ganz oberflàchlich zu diesem Thema belesen
haben, interessiert mich jetzt folgendes:
Ist es mit dem Python-Module bzw. der dahinterliegenden Datenbank möglich,
Umlaute auf "àhnliche" ASCII-Zeichen abzubilden? Also z.B. à->a, ü->u?

Hintergrund ist, dass ich einen Suchindex befüllen möchte und die Suche
gegenüber Umlauten tolerant sein soll (also auch "Straße" findet, wenn der
User nach 'Strasse' sucht).

In der Unicode-Datenbank gibt es ja die Information teilweise. Wenn ich z.B.
unicodedata.decomposition(u'é')
verwende, bekomme ich '0065 0301', mithin also u'\u0065' ("e").

Nun ist meine Frage, ob das ein halbwegs sicherer Ansatz ist oder ob ich mich
gerade ganz arg in die Nesseln setze.

Hier noch meine Randbedingungen:
- Es muss eigentlich nur für die deutsche Sprache funktionieren, alles andere
ist nur "nettes Extra". Auf gar keinen Fall asiatische Sprachen.
- Alternativ habe ich bislang diese Mappings immer per Hand deklariert für
etwa 10-20 Zeichen. Wenn mir unicodedata also "out of the box" mehr
mitbringt, ist das schon ein großer Bonus.

Vielen Dank,
Felix
 

Lesen sie die antworten

#1 Michael Ströder
06/01/2013 - 23:47 | Warnen spam
Felix Schwarz wrote:
Ist es mit dem Python-Module bzw. der dahinterliegenden Datenbank möglich,
Umlaute auf "àhnliche" ASCII-Zeichen abzubilden? Also z.B. à->a, ü->u?



Evtl. hilft Dir "APPENDIX 3 to Section III" in diesen Dokument was:

http://www.icao.int/publications/Do...ons_en.pdf

Manche der genannten Mappings sind aber mit sprach-/landesabhàngigen Varianten
definiert.

Ciao, Michael.

Ähnliche fragen