Se você olhar para os mapas de caracteres para Windows-1256 e ISO-8859-6 , você pode ver que 1256 tem um caractere em cada ponto, mas 8859-6 tem muitas lacunas. Então, ao converter, se houver um caractere que não esteja na codificação de destino, iconv
irá reclamar.
Dependendo de qual versão de iconv
você tem, você pode usar a opção -c
, e esses caracteres não conversíveis serão descartados - o arquivo ficará mais curto. Ou você pode usar algo como --unicode-subst="@"
, que substituirá os caracteres inválidos por @
, que é conversível. Observe que há bastante flexibilidade com essa substituição, incluindo a expansão (por exemplo, "[%u]"
será convertida para o valor Unicode entre colchetes).
Se o Cygwin não tiver essas opções, você pode tentar um Linux ou Mac OS X recente.
Em qualquer caso, o arquivo resultante pode ter apenas caracteres que estão realmente em ISO-8859-6.