Хочу поделиться скриптом (под спойлером), который я использую для конвертирования текстовых файлов из одной кодировки в другую. Достаточно сохранить скрипт с именем, например,
fromwin и наделать ссылок на этот файл с именами
fromkoi,
fromutf8,
towin и т.д. Не забывает задать правильную системную кодировку (переменная
ENC), в QNX это обычно cp866. В слаквари можно делать симлинки, но в QNX надо обязательно делать жёсткие ссылки. И опять-таки, убеждаемся, что пользователь, от имени которого запускается скрипт имеет права на создание временного файла.
После всех этих процедур можно осуществлять перекодировку inplace, т.е. в тот же самый файл, например, так:
#!/bin/sh
ENC=cp866
NAME=`basename "$0"`
case $NAME in
'fromdos')
FR=cp866
TO=$ENC
;;
'fromwin')
FR=cp1251
TO=$ENC
;;
'fromkoi')
FR=koi8-r
TO=$ENC
;;
'fromutf8')
FR=utf-8
TO=$ENC
;;
'todos')
FR=$ENC
TO=cp866
;;
'towin')
FR=$ENC
TO=cp1251
;;
'tokoi')
FR=$ENC
TO=koi8-r
;;
'toutf8')
FR=$ENC
TO=utf-8
;;
*)
echo "Unknown translation $0"
esac
TMPFILE=/tmp/$NAME."$1"
cp "$1" $TMPFILE
iconv -f $FR -t $TO $TMPFILE > "$1"
rm $TMPFILE