Если вы хотите мультиплатформенность, iconv
не правильный инструмент. Транслитерация - это расширение, специфичное для GNU. В общем, транслитерация - сложная проблема, и реализация GNU iconv
достаточна только для тривиальных случаев. То, как не-ASCII-символ транслитерируется, является не свойством символа, а языком текста и тем, как он используется. Например, должно ли "日" становиться "ри" или "ни" или чем-то еще целиком? Или, если вы хотите придерживаться латинского языка, должно ли «ö» стать «o» или «oe»? Расширяясь на другие нелатинские сценарии, транслитерация большинства индийских языков довольно проста, но транслитерация тайского требует некоторого переупорядочения символов, а транслитерация тибетского требует анализа целых слогов и определения того, какие буквы находятся в корне / префиксе / суффиксе / и т.д. ролей.
На мой взгляд, лучший ответ на вопрос "Как мне транслитерировать в ASCII?" для большинства программ : не . Вместо этого исправьте все ошибки или намеренно-ориентированные на английский политики, которые изначально заставили вас хотеть ASCII. Единственное программное обеспечение, которое действительно должно выполнять транслитерацию, - это программное обеспечение с высокой лингвистической осведомленностью, облегчающее поиск или интерпретацию текстов не на родном языке пользователя.