Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Эмулятор функции 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;
}
.
Прокомментировать/Отблагодарить