General > Русский (ru)
Проблема с кодировкой в клиентской части
MSK:
Точно проблема со списком ПОСЕТИТЕЛЕЙ, а не ОПЕРАТОРОВ?
Galina:
--- Quote from: MSK on April 20, 2011, 07:39:16 AM ---Точно проблема со списком ПОСЕТИТЕЛЕЙ, а не ОПЕРАТОРОВ?
--- End quote ---
Точно. С операторами все нормально.
Inspirer:
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, кроме случая когда хостинг принудительно выставляет кодировку.
Galina:
Все установлено именно так, как вы рекомендуете.
--- Quote from: Inspirer on April 20, 2011, 07:16:45 PM ---- Более того, не вижу необходимости вообще использовать cp1251, кроме случая когда хостинг принудительно выставляет кодировку.
--- End quote ---
Я бы с удовольствием использовала utf-8, но сайт, куда установлен webim, сделан давно в ср1251, причем, кодировка установлена на стороне провайдера. Сейчас я уже могу выбрать сама, но для этого нужно конвертировать весь сайт, а как это делать, я пока не знаю, да и боязно.
--- Quote --- История в чате всегда живет в utf-8 (особенность передачи данных в html/js), без примененного 3-го пункта все страницы сайта будут в cp1251, кроме истории чата.
--- End quote ---
С историй у меня тоже все нормально. Только список посетителей не хочет показываться нормально. Чат тоже был сначала кракозябами, но я поправила непосредственно в файле chat.php - заменила utf8 на ср1251
Inspirer:
Попробуйте на пустой базе данных. Для этого нужно в файле libs/config.php выставить $mysqlprefix в любое непустое значение и еще раз запустить инсталяцию. Потом можно вернуться к предыдущему состоянию убрав mysqlprefix.
Если единственное что вам мешает это кодировка на стороне провайдера - оставьте базу в UTF-8.
Можно попробовать поиграть с кодировкой в списке посетителей. Отредактируйте update.php. Там нужно найти вызов myiconv. Попробуйте разные сочетания кодировок из "cp1251" и "utf-8" (вставляйте прямо строчками).
А что конкретно вы поменяли в chat.php? Думаю, что не стоило, и проблема где-то рядом :)
PS: 2MSK список операторов я поправил и положил в v1.6.x ветку
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version