1. Нужно переменные $webim_encoding и $dbencoding обязательно выставлять в одинаковое значение (одна из них для mysql, другая для mibew).
2. Они должны быть выставлены до создания таблиц (чтобы те получили collation = cp1251_general_ci)
3. Если поменять значения этих переменных на "живой" базе - ее содержимое превратится в иероглифы.
Как правильно выставить везде cp1251:
1. locales/ru/properties
output_charset=cp1251
output_encoding=cp1251
2. libs/config.php
$home_locale = "ru"; /* native name will be used in this locale */
3. (там же)
$webim_encoding = "cp1251";
$dbencoding = "cp1251";
Минусы использования cp1251 в базе:
- Если вам в чат положат символы, не попадающие в cp1251, сообщение обрежется на первом таком символе.
Например, захотите вы написать немецкое слово Strasse, а пошлется только Stra
- Я бы категорически НЕ рекомендовал применять пункт 3. История в чате всегда живет в utf-8 (особенность передачи данных в html/js), без примененного 3-го пункта все страницы сайта будут в cp1251, кроме истории чата.
- Более того, не вижу необходимости вообще использовать cp1251, кроме случая когда хостинг принудительно выставляет кодировку.