Buskopan 56 09/07/11 12:29 Купил забугорный чат для форума. Все хорошо да не понимает до конца он кириллицы. А саппорт тугодумы. вот такой вот беспредел получается Все ники у которых отображаемое имя введено кириллицей дают такие вот крякозябры в окошке где они собственно должны отображаться. Полагаю за это безобразие отвечает файл cometchat_getid.php Который собственно выглядит так. include_once dirname(__FILE__)."/cometchat_init.php"; $response = array(); $messages = array(); $status['available'] = $language[30]; $status['busy'] = $language[31]; $status['offline'] = $language[32]; $status['invisible'] = $language[33]; $status['away'] = $language[34]; $fetchid = $_POST['userid']; $time = getTimeStamp(); $sql = getUserDetails($fetchid); $query = mysql_query($sql); if (defined('DEV_MODE') && DEV_MODE == '1') { echo mysql_error(); } $chat = mysql_fetch_array($query); if ((($time-processTime($chat['lastactivity'])) < ONLINE_TIMEOUT) && $chat['status'] != 'invisible' && $chat['status'] != 'offline') { if ($chat['status'] != 'busy' && $chat['status'] != 'away') { $chat['status'] = 'available'; } } else { $chat['status'] = 'offline'; } if ($chat['message'] == null) { $chat['message'] = $status[$chat['status']]; } $link = getLink($chat['link']); $avatar = getAvatar($chat['avatar']); if (function_exists('processName')) { $chat['username'] = processName($chat['username']); } $response = array('id' => $chat['userid'], 'n' => $chat['username'], 's' => $chat['status'], 'm' => $chat['message'], 'a' => $avatar, 'l' => $link); // session_write_close(); // sleep(10); header('Content-type: application/json; charset=utf-8'); echo json_encode($response); exit; либо один из других файлов, что маловероятно. Вопрос: Как заставить приложение понимать русские ники? Поделиться сообщением Ссылка на сообщение
siv1987 2628 09/07/11 12:56 Файл в кодировке utf-8? Как вариант попробуйте добавить$chat['username'] = mb_convert_encoding( $chat['username'], 'utf-8' ); перед$response = array('id' => $chat['userid']... Поделиться сообщением Ссылка на сообщение
Buskopan 56 09/07/11 13:12 Файл в кодировке utf-8?да Как вариант попробуйте добавитьне помогло. кстати забыл добавить что кряказябры не только на русских никах. то же самое на китайских и арабских символах, подзреваю что и в остальных тоже. одним словом all non english nicknames. Поделиться сообщением Ссылка на сообщение
siv1987 2628 09/07/11 13:24 Тогда в саппорт, по одному этому куску кода мало что можно сказать. Ajax работает в utf-8, странно что не заработало. Надо проследить весь "путь", от запроса данных до отображения в браузере. Поделиться сообщением Ссылка на сообщение
Buskopan 56 09/07/11 14:14 Плохо. Видимо придется думать как конвертировать русские ники в латинские при запросе. Саппорт окончательно потух с моим билетиком. Поделиться сообщением Ссылка на сообщение
Ritsuka 540 09/07/11 19:50 А на каком этапе портится ник? На выводе в этом всплывающем окошке, или вообще везде там у них в системе? Как он читает ники с форума? Через mysql? Может, там где-то поискать и внедрить "SET NAMES utf8"? :) Поделиться сообщением Ссылка на сообщение
Buskopan 56 09/08/11 01:24 А на каком этапе портится ник? На выводе в этом всплывающем окошке, или вообще везде там у них в системе?Не отображается вообще. Везде. Ссылки на ники активные правда. Нужно догадываться по мелким аватарам. Как он читает ники с форума? Через mysql? да. Может, там где-то поискать и внедрить "SET NAMES utf8"? знать бы где да как :( мне наверное легче будет запретить кириллицу в никах при регистрации. спасибо. Поделиться сообщением Ссылка на сообщение
Buskopan 56 09/08/11 12:57 Баг исправили. It is a IPB specific issue. Has been resolved. Three lines need to be commented in cometchat_init.php Поделиться сообщением Ссылка на сообщение