Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Запрос ников в php

Купил забугорный чат для форума. Все хорошо да не понимает до конца он кириллицы. А саппорт тугодумы.

 

вот такой вот беспредел получается

post-39692-0-78227500-1315398096_thumb.jpg

 

Все ники у которых отображаемое имя введено кириллицей дают такие вот крякозябры в окошке где они собственно должны отображаться.

 

Полагаю за это безобразие отвечает файл 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;

 

либо один из других файлов, что маловероятно.

post-39692-0-78499600-1315398407_thumb.png

 

Вопрос: Как заставить приложение понимать русские ники?

Рекомендованные сообщения

Файл в кодировке utf-8?

 

Как вариант попробуйте добавить

$chat['username'] = mb_convert_encoding( $chat['username'], 'utf-8' );

 

перед

$response =  array('id' => $chat['userid']...

  • Автор

Файл в кодировке utf-8?

да

 

Как вариант попробуйте добавить

не помогло.

 

кстати забыл добавить что кряказябры не только на русских никах. то же самое на китайских и арабских символах, подзреваю что и в остальных тоже.

одним словом all non english nicknames.

Тогда в саппорт, по одному этому куску кода мало что можно сказать. Ajax работает в utf-8, странно что не заработало. Надо проследить весь "путь", от запроса данных до отображения в браузере.

  • Автор

Плохо. Видимо придется думать как конвертировать русские ники в латинские при запросе.

 

Саппорт окончательно потух с моим билетиком.

А на каком этапе портится ник? На выводе в этом всплывающем окошке, или вообще везде там у них в системе?

 

Как он читает ники с форума? Через mysql? Может, там где-то поискать и внедрить "SET NAMES utf8"? :)

  • Автор

А на каком этапе портится ник? На выводе в этом всплывающем окошке, или вообще везде там у них в системе?

Не отображается вообще. Везде. Ссылки на ники активные правда. Нужно догадываться по мелким аватарам.

 

Как он читает ники с форума? Через mysql?

да.

 

Может, там где-то поискать и внедрить "SET NAMES utf8"?

знать бы где да как :( мне наверное легче будет запретить кириллицу в никах при регистрации.

 

спасибо.

  • Автор

Баг исправили.

 

It is a IPB specific issue. Has been resolved. Three lines need to be commented in cometchat_init.php

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.