У меня есть файл с одной фразой / термином в каждой строке, который я прочитал в perl из STDIN.У меня есть список стоп-слов (например, «á», «são», «é»), и я хочу сравнить каждое из них с каждым термином и удалить, если они равны.Проблема в том, что я не уверен в формате кодировки файла.
Я получаю это из команды file
:
words.txt: Non-ISO extended-ASCII English text
Мой терминал Linux находится в UTF-8, и онпоказывает правильное содержание для некоторых слов, а для других нет.Вот вывод некоторых из них:
condi<E3>
conte<FA>dos
ajuda, mas não resolve
mo<E7>ambique
pedagógico são fenómenos
Вы можете видеть, что 3-я и 5-я строки правильно идентифицируют слова с акцентами и специальными символами, а другие - нет.Правильный вывод для других строк должен быть следующим: condiã, conteúdos и moçambique.
Если я использую binmode(STDOUT, utf8)
, «неправильные» строки теперь выводятся правильно, а другие нет.Например, 3-я строка:
Ajuda, Mas NÃ £ O решимости
Что я должен делать, ребята?