Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Buskopan

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

Recommended Posts

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

перед

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

Share this post


Link to post
Share on other sites

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

да

 

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

не помогло.

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

да.

 

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

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

 

спасибо.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...