falc
Мой дом здесь!
- Регистрация
- 6 Авг 2006
- Сообщения
- 340
- Реакции
- 216
- Автор темы
- #1
Есть такой код, как его заставить перекодировать из utf в cp-1251? Этот вариант у меня не работает. Применяется с аяксом, если это важно.
Добавлено через 7 минут
кстати если поменять 4 строчку if ($C->decodeUTF8InputOn=='0') на if ($C->decodeUTF8InputOn=='1')
то символы меняются на другие но текст не читабельный всё равно
PHP:
function fixChars($str){
global $C;
if ($C->decodeUTF8InputOn=='0') return $str;
$sFuncToUse = NULL;
global $sEncoding;
if (function_exists('iconv'))
{
$sFuncToUse = "iconv";
}
else if (function_exists('mb_convert_encoding'))
{
$sFuncToUse = "mb_convert_encoding";
}
else if ($sEncoding == "CP-1251")
{
$sFuncToUse = "utf8_decode";
}
else
{
return $str;
}
if ($sFuncToUse)
{
if (is_string($str))
{
if ($sFuncToUse == "iconv")
{
$sValue = iconv("UTF-8", $sEncoding.'//TRANSLIT', $str);
}
else if ($sFuncToUse == "mb_convert_encoding")
{
$sValue = mb_convert_encoding($str, $sEncoding, "UTF-8");
}
else
{
$sValue = utf8_decode($str);
}
}
}
return $sValue;
}
Добавлено через 7 минут
кстати если поменять 4 строчку if ($C->decodeUTF8InputOn=='0') на if ($C->decodeUTF8InputOn=='1')
то символы меняются на другие но текст не читабельный всё равно