A mensagem
iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' are not supported
poderia ser melhorado, por exemplo,
iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' is pointless
ou
iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' will not modify your data
iconv
traduz a codificação de caracteres . Embora possa reconhecer o nome de um locale , existe uma diferença entre codificação e locale :
- codificação lista todos os códigos de caracteres disponíveis em um conjunto de caracteres, com referência à aparência dos caracteres (referidos como glifos ).
- locale informa como os caracteres em uma codificação dada são usados, por exemplo, que são imprimíveis, que não são, que são usados para casos especiais, como separadores decimais. Ele também lida com coisas que não estão relacionadas a conjuntos de caracteres, como os nomes dos dias da semana.
Como as localidades en_US.utf8
e ru_RS.utf8
usam a codificação same , iconv
não tem nada a ver. Como não é possível adivinhar o que você está tentando fazer, ele informa que a conversão "não é suportada".
O que o iconv
suporta é a conversão entre as codificações diferentes . Por exemplo, na sua lista
ru_RU.iso88595
ru_RU.koi8r
não use codificação UTF-8. Esses são usados para conjuntos de caracteres com menos de 256 caracteres; O UTF-8 é usado para Unicode, com muitos mais de 256 caracteres.
Quanto ao comando correto a ser usado, isso depende de qual é a codificação real do arquivo de entrada (pode ser UTF-8, pode ser ISO-8859-1) e se você deseja que a saída seja ser UTF-8 (sem problemas) ou uma das outras codificações (menos provável, e envolvendo alguma perda de informação).