Я пытаюсь использовать Text::Unidecode
для преобразования всех акцентированных символов (é, ç, è, à и т. Д.) В текстовом файле в их не акцентированные аналоги (в данном случае e, c, e, a). Функция unidecode()
должна делать именно это, но я получаю странный вывод ...
Кажется, что каждый акцентированный символ заменяется на 'A', за которым следуют один или два других символа. Например, ввод "éèçàöôäüû"
производит вывод "A(c)A"ASSA APA'A$?A1/4A>>"
.
Функция работает нормально, если я использую ее в некоторой определенной пользователем строке в сценарии, но не когда я использую ее в цикле while, напримерthis:
#!/bin/usr/perl
use utf8;
use Text::Unidecode;
while(<>){
print(unidecode($_));
}
#end
Проблема сохраняется с или без use utf8;
, но может ли текстовый файл по-прежнему вызывать проблемы? Это известная проблема с модулем?