e64f
Постоялец
- Регистрация
- 2 Ноя 2008
- Сообщения
- 95
- Реакции
- 6
Предлагаю короткую двунаправленную функцию. Конвертирует текст из юникода в виндовс и обратно.
/**
* Конвертирует текст из юникода и обратно
*
* @param string $str - Строка текста
* @param string $type - "w" - utf2win, "u" - win2utf
* @return string
*/
/**
* Конвертирует текст из юникода и обратно
*
* @param string $str - Строка текста
* @param string $type - "w" - utf2win, "u" - win2utf
* @return string
*/
PHP:
function utf8_convert($str, $type)
{
static $conv = '';
if (!is_array($conv))
{
$conv = array();
for ($x=128; $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);
}
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;
}
}