Каждый из нас пользуется какой-нибудь статистикой. Кто-то использует Google Analytics, кто-то разные готовые решения (тот же CNStats), кому-то хватает кнопочек-статистики от Bigmir, LI, etc. а кто-то вообще ею не пользуется. Не трудно догадаться, что использую я :)
Сразу после установки появилась проблема, проблема с кодировкой. Пытался решить её как ребёнок, закрыв глаза руками и сделав вид, что проблемы нет. Поменял ради этого язык интерфейса на английский. Но, чуда не произошло.
По умолчанию кодировка страницы была UTF-8, при английском языке KOI 8 или ISO8859 я не запомнил точно :). Что б увидеть русские буквы нужно было постоянно вручную менять кодировку на cp1251, что ничуть не радовало.
В общем, суть стала ясна почти сразу, глюки при работе с БД, а именно: скорее всего не явно указывается кодировка и она выставляется по умолчанию.
Решается просто, в файле добавляем 2 строчки
$STATS_CONF["sqlinstructions"][]=”SET NAMES cp1251?;
$STATS_CONF["sqlinstructions"][]=”SET CHARACTER SET cp1251?;
Вот и всё, после этого всё работает исправно, и я могу нормально смотреть по каким запросам ко мне приходят из поисковых машин. %) Надеюсь, эта маленькая история будет вам полезна.
Popularity: 27%
июля 20, 2009 в 12:10
Решается просто, в файле добавляем 2 строчки
в каком файле правки делать?
июля 20, 2009 в 14:29
В config.php статистики
сентября 9, 2009 в 10:25
А если БД в utf-8 и надо смотреть статистику в Wordpress? Ставлю CNStats и плагин для Wordpress, вся выдача информации в кракозябрах. В чём косяк может быть?
сентября 12, 2009 в 8:23
Да в чём угодно… Кодировка значит гдето не та… В файлах плагина, вордпресса или БД… трудно сказать…
апреля 7, 2011 в 17:46
Народ кодировку можно поменять, но не полностью, обязательно останется кривым либо title страниц, либо поисковая фраза, моё решение простое и рабочее. Сделайте так чтобы все выводилось в кодировке cp1251, а для корректного отображения title, поправьте функцию _53a3229a() в functions.php.
function _53a3229a($_2b36786b,$_7fc45f1d=false)
{
if(!$_7fc45f1d) {
$_2b36786b=mb_convert_encoding($_2b36786b, “cp1251″, “UTF-8″);
} else {
$_2b36786b=mb_convert_encoding($_2b36786b, “cp1251″, “UTF-8″);
}
return $_2b36786b;
}
Удачи! На 4.2 работает без проблем.