Ich habe ein Perl-Skript, das von Dritten aufgerufen wird, um mir Namen von Personen zu senden, die meine Software registriert haben. Einer dieser Teilnehmer kodiert die Namen in UTF-8, daher habe ich mein Skript entsprechend angepasst, um UTF-8 mit Encode :: decode_utf8 (...) in ASCII zu dekodieren.Wie kann ich Nicht-ASCII-Zeichen, die in UTF8 codiert sind, in Perl in ASCII-äquivalent konvertieren?
Dies funktioniert in der Regel gut, aber alle 6 Monate oder so einen der Namen enthält kyrillische, griechische oder rumänisch Zeichen, so die Namen Decodierung Ergebnisse in sinnlose Zeichen wie „ПоÐ'Ñ € Ð ° жР° нÑкР° "". Ich muss mit dem Kunden nachfragen und ihn nach einer "lateinischen Charakterversion" seines Namens fragen, um einen Registrierungscode auszugeben.
Gibt es also ein Perl-Modul, das erkennen kann, ob solche Zeichen vorhanden sind, und diese bei Bedarf automatisch in ihre nächste ASCII-Darstellung übersetzt?
Es scheint, dass ich Lingua :: Cyrillic :: Translit :: ICAO plus Lingua :: DetectCharset verwenden kann, um mit Kyrillisch umzugehen, aber ich würde etwas bevorzugen, das auch mit anderen Zeichensätzen funktioniert.
Genau das, was ich gesucht habe - Danke! :-) –