General > Русский (ru)

Проблема с кодировкой в клиентской части

<< < (5/7) > >>

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