Эмулятор функции iconv

Столкнулся с проблемой, что на хостинге криво работает стандартная функция PHP iconv. Пришлось написать эмулятор.


Замена функции iconv:

function Encode($str, $type = 'w'){
    // $type:
    // 'w' - encodes from UTF to win
    // 'u' - encodes from win to UTF

        static $conv='';
        if (!is_array ( $conv )){
            $conv=[];
            for ( $x=129; $x <=143; $x++ ){
                $conv['utf'][]=chr(209).chr($x);
                $conv['win'][]=chr($x+112);
        }
            for ( $x=144; $x <=191; $x++ ){
                $conv['utf'][]=chr(208).chr($x);
                $conv['win'][]=chr($x+48);
        }
            $conv['utf'][]=chr(208).chr(129);
            $conv['win'][]=chr(168); // Ё
            $conv['utf'][]=chr(209).chr(145);
            $conv['win'][]=chr(184); // ё
            $conv['utf'][]=chr(209).chr(128);
            $conv['win'][]=chr(240); // р
        }

        if ( $type=='w' )
            return str_replace ( $conv['utf'], $conv['win'], $str );
        elseif ( $type=='u' )
            return str_replace ( $conv['win'], $conv['utf'], $str );
        else
            return $str;
}

.