Стандартная 8-битная кодировка для польского языка - latin2, также известная как ISO 8859-2 . Текст с ³ вместо ł, ¿вместо ż и т. Д. Является результатом интерпретации последовательности байтов, представляющих текст на latin2, как если бы они представляли latin1. Latin1, также известный как ISO 8859-1, является стандартной кодировкой для большинства западноевропейских языков.
Если текст закодирован в latin2, вам необходимо преобразовать его из latin2 в UTF-8, а не из latin1 в UTF-8.
iconv -f latin2 -t utf8
( -t utf8
здесь необязателен, поскольку вы вызываете языковой стандарт UTF-8.)
Если вы показываете текст в том виде, в каком вы его читаете, значит, это был плохо конвертировался из 8-битного в Unicode в какой-то момент. Чтобы исправить это, преобразуйте обратно в исходные байты, а затем преобразуйте их в свою кодировку.
iconv -f utf8 -t latin1 | iconv -f latin2 -t utf8