Ajax и utf-8 - ну сил просто уже нет...

Статус
В этой теме нельзя размещать новые ответы.

xwande

Постоялец
Регистрация
24 Мар 2007
Сообщения
134
Реакции
24
Есть CMS - мамбо/джомла. Поставил на нее FAQ на ajax - mosKnowledgeBase ( Для просмотра ссылки Войди или Зарегистрируйся)

В принципе, тот трабл, что был с перекодировкой решился просто - $xajax->setCharEncoding('windows-1251');
далее, удалена $xajax->decodeUTF8InputOn(); и вот оно счастье, теперь можно прочесть текс... но...

в админке в одном из разделов где опять же все на ajax выводит заголовки вообще непонятной кодировкой, причем именно один раздел, и в нем заголовки тем...

Кто-нибудь сталкивался с этим скриптом? И есть ли варианты решить вопрос перекодировки глобально как-то для всех скриптов, чтобы с каждым так не мучаться?
 
Код:
function detect_utf($str) {
	for ($i=0; $i<strlen($str); ++$i) {
		if (ord($str[$i]) < 0x80) $n=0; # 0bbbbbbb
		elseif ((ord($str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
		elseif ((ord($str[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
		elseif ((ord($str[$i]) & 0xF0) == 0xF0) $n=3; # 1111bbbb
		else return false; # Does not match any model
	for ($j=0; $j<$n; $j++) { # n octets that match 10bbbbbb follow ?
		if ((++$i == strlen($str)) || ((ord($str[$i]) & 0xC0) != 0x80)) return false;
		}
	}
	return true;
}

Применение:
Код:
if (detect_utf($str)) кодируем из UTF в Win1251;
 
о.. полезная функция, спасибо. Хотя в том скрипте нашел где он, гад делал перекодировку...
$html = utf8_encode($tmpl->getParsedTemplate("listarticles"));
теперь хоть буду знать что с остальными делать...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху