Имеем строку...
Set(foo=парам пам пам);
конвертируем эту строку из UTF8 в CP1251 (консоль в UTF8, а передать надо в WINDOWS-1251)
Set(foo=${ICONV(UTF-8,WINDOWS-1251,${foo})});
В результате в переменной ${foo} имеем начало строки в CP1251 и кусок в этой же строке изначального в UTF8(то есть в одной стоке присутствует и правильная кодировка и шумы из начальной строки).
Как правильно это побороть я так и не понял.
Пока сделал костыли в виде
Set(foo=парам пам пам);
Set(foo=${foo}[cut]); // в конец строки добавил несколько символов которые будут являться разделителем
Set(foo=${ICONV(UTF8,CP1251,${foo})}); //перекодирую строку
Set(foo=${CUT(foo,"[cut]",1)}); // отрезаю шум, который будет после заданного разделителя
profit.
Это хоть и работает, но мне кажется должно быть более правильное решение данной проблемы.
Не понимаю поведения ICONV в астериске... думается мне, что это из-за того что кирилица кодируется в одном случае 2мя байтами а в другом 1м байтом.
Как же более корректно побороть сей недуг не навешивая лишних действий?!?!