Tengo un script de Perl que está siendo llamado por terceros para enviarme los nombres de las personas que han registrado mi software. Una de estas partes codifica los nombres en UTF-8, por lo que he adaptado mi script en consecuencia para decodificar UTF-8 a ASCII con Encode :: decode_utf8 (...).¿Cómo puedo convertir caracteres no ASCII codificados en UTF8 en equivalentes ASCII en Perl?
Esto generalmente funciona bien, pero cada 6 meses más o menos uno de los nombres contiene caracteres cirílicos, griegos o rumanos, por lo que decodificar el nombre da como resultado caracteres basura como "ПоÐ'Ñ € Ð ° жР° нÑкР° NORTE". Tengo que hacer un seguimiento con el cliente y pedirle una "versión de personaje latino" de su nombre para poder emitir un código de registro.
Entonces, ¿hay algún módulo Perl que pueda detectar si hay tales caracteres y los traduce automáticamente a su representación ASCII más cercana si es necesario?
Parece que puedo usar Lingua :: Cyrillic :: Translit :: ICAO más Lingua :: DetectCharset para manejar cirílico, pero preferiría algo que también funcione con otros juegos de caracteres.
Justo lo que estaba buscando - ¡Gracias! :-) –