FlashChat!
Shin Akuma
Интересующийся
8/18/2006, 12:51:29 AM
Вот поставил себе это чудо! Мне нравится … единственная проблема в том, что русские Ники не отображаются, вот не знаю в чем проблема может, кто поможет?
Flameberg2
Профессионал
8/18/2006, 2:45:14 AM
Посмотри, в какой кодировке у тебя связаная с ним БД
з.ы.: последняя версия чата есть на скриптмафии.
з.ы.: последняя версия чата есть на скриптмафии.
Shin Akuma
Интересующийся
8/18/2006, 2:56:08 AM
UTF8decode вроде оно... там было написанно поставить это для русского языка на форуме стандартный Win-1251 ...
вот чат РЕклама запрещена
логин: Розовый Слоник
пороль 123
можите посмореть... и если нажать на записать там помимо ников еще и слова абракадабра...=(
вот чат РЕклама запрещена
логин: Розовый Слоник
пороль 123
можите посмореть... и если нажать на записать там помимо ников еще и слова абракадабра...=(
Shin Akuma
Интересующийся
8/20/2006, 4:49:52 AM
неужели админам так тяжело тут ответить
Frisian
Новичок
8/26/2006, 7:31:17 AM
Когда импортишь таблицу в БДто выбири кодировку cp_1250_general_ci или cp_1251_general_ci какую точно не помню... длжно пахать!
Shаdоw
Новичок
9/13/2006, 12:23:36 PM
Решение проблемы с кодировкой!
В папке chat/inc/cmses выбрать используемый файл интеграции. Открыть в текстовом редакторе. Найти:
CODE // Get user details
function getUser($userid)
{
if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next()))
{
$rec['usergroupid'] .= ",".$rec['membergroupids'];
$rec['roles'] = $this->getRoles($rec['usergroupid']);
$tagencoded = entities_to_utf8($rec['login']);
if(strlen($rec['login']) > strlen($tagencoded)) $rec['login'] = $tagencoded;
else $rec['login'] = utf8_encode($rec['login']);
$_SESSION['fc_users_cache'][$userid] = $rec;
$_SESSION['fc_roles_cache'][$userid] = $rec['roles'];
return $rec;
}
return null;
}
Добавить над ним:
CODE function rus2utf8( $rus ) {
// translates these characters from rus win-1251 to UTF-8/Unicode
$replacements = array( 'а' => 'Р°',
'А' => 'Рђ',
'б' => 'Р±',
'Б' => 'Р‘',
'в' => 'РІ',
'В' => 'Р’',
'г' => 'Рі',
'Г' => 'Р“',
'д' => 'Рґ',
'Д' => 'Р”',
'е' => 'Рµ',
'Е' => 'Р•',
'ё' => 'С‘',
'Ё' => 'РЃ',
'ж' => 'Р¶',
'Ж' => 'Р–',
'з' => 'Р·',
'З' => 'Р—',
'и' => 'Рё',
'И' => 'Р',
'й' => 'Р№',
'Й' => 'Р™',
'к' => 'Рє',
'К' => 'Рљ',
'л' => 'Р»',
'Л' => 'Р›',
'м' => 'Рј',
'М' => 'Рњ',
'н' => 'РЅ',
'Н' => 'Рќ',
'о' => 'Рѕ',
'О' => 'Рћ',
'п' => 'Рї',
'П' => 'Рџ',
'р' => 'СЂ',
'Р' => 'Р ',
'с' => 'СЃ',
'С' => 'РЎ',
'т' => 'С‚',
'Т' => 'Рў',
'у' => 'Сѓ',
'У' => 'РЈ',
'ф' => 'С„',
'Ф' => 'Р¤',
'х' => 'С…',
'Х' => 'РҐ',
'ц' => 'С†',
'Ц' => 'Р¦',
'ч' => 'С‡',
'Ч' => 'Р§',
'ш' => 'С?',
'Ш' => 'РЁ',
'щ' => 'С‰',
'Щ' => 'Р©',
'ъ' => 'СЉ',
'Ъ' => 'РЄ',
'ы' => 'С‹',
'Ы' => 'Р«',
'ь' => 'СЊ',
'Ь' => 'Р¬',
'э' => 'СЌ',
'Э' => 'Р',
'ю' => 'СЋ',
'Ю' => 'Р®',
'я' => 'СЏ',
'Я' => 'РЇ');
return strtr($rus, $replacements);
}
В указанном выше куске кода заменить:
CODE $rec['login'] = utf8_encode($rec['login']);
на:
CODE $rec['login'] = $this->rus2utf8($rec['login']);
Но при этом, если ник начинается с буквы "Р", то она отображается некорректно. Кто знает, как пофиксить?
В папке chat/inc/cmses выбрать используемый файл интеграции. Открыть в текстовом редакторе. Найти:
CODE // Get user details
function getUser($userid)
{
if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next()))
{
$rec['usergroupid'] .= ",".$rec['membergroupids'];
$rec['roles'] = $this->getRoles($rec['usergroupid']);
$tagencoded = entities_to_utf8($rec['login']);
if(strlen($rec['login']) > strlen($tagencoded)) $rec['login'] = $tagencoded;
else $rec['login'] = utf8_encode($rec['login']);
$_SESSION['fc_users_cache'][$userid] = $rec;
$_SESSION['fc_roles_cache'][$userid] = $rec['roles'];
return $rec;
}
return null;
}
Добавить над ним:
CODE function rus2utf8( $rus ) {
// translates these characters from rus win-1251 to UTF-8/Unicode
$replacements = array( 'а' => 'Р°',
'А' => 'Рђ',
'б' => 'Р±',
'Б' => 'Р‘',
'в' => 'РІ',
'В' => 'Р’',
'г' => 'Рі',
'Г' => 'Р“',
'д' => 'Рґ',
'Д' => 'Р”',
'е' => 'Рµ',
'Е' => 'Р•',
'ё' => 'С‘',
'Ё' => 'РЃ',
'ж' => 'Р¶',
'Ж' => 'Р–',
'з' => 'Р·',
'З' => 'Р—',
'и' => 'Рё',
'И' => 'Р',
'й' => 'Р№',
'Й' => 'Р™',
'к' => 'Рє',
'К' => 'Рљ',
'л' => 'Р»',
'Л' => 'Р›',
'м' => 'Рј',
'М' => 'Рњ',
'н' => 'РЅ',
'Н' => 'Рќ',
'о' => 'Рѕ',
'О' => 'Рћ',
'п' => 'Рї',
'П' => 'Рџ',
'р' => 'СЂ',
'Р' => 'Р ',
'с' => 'СЃ',
'С' => 'РЎ',
'т' => 'С‚',
'Т' => 'Рў',
'у' => 'Сѓ',
'У' => 'РЈ',
'ф' => 'С„',
'Ф' => 'Р¤',
'х' => 'С…',
'Х' => 'РҐ',
'ц' => 'С†',
'Ц' => 'Р¦',
'ч' => 'С‡',
'Ч' => 'Р§',
'ш' => 'С?',
'Ш' => 'РЁ',
'щ' => 'С‰',
'Щ' => 'Р©',
'ъ' => 'СЉ',
'Ъ' => 'РЄ',
'ы' => 'С‹',
'Ы' => 'Р«',
'ь' => 'СЊ',
'Ь' => 'Р¬',
'э' => 'СЌ',
'Э' => 'Р',
'ю' => 'СЋ',
'Ю' => 'Р®',
'я' => 'СЏ',
'Я' => 'РЇ');
return strtr($rus, $replacements);
}
В указанном выше куске кода заменить:
CODE $rec['login'] = utf8_encode($rec['login']);
на:
CODE $rec['login'] = $this->rus2utf8($rec['login']);
Но при этом, если ник начинается с буквы "Р", то она отображается некорректно. Кто знает, как пофиксить?
Shаdоw
Новичок
9/13/2006, 12:31:41 PM
(Shin Akuma @ 20.08.2006 - время: 01:49) неужели админам так тяжело тут ответить
Я заметил, что админам на этом ресурсе глубоко пох на простых юзеров. Я даже не знаю, как задать администрации интересующий меня вопрос по работе форума. Модераторы, подскажите, плиз!
Я заметил, что админам на этом ресурсе глубоко пох на простых юзеров. Я даже не знаю, как задать администрации интересующий меня вопрос по работе форума. Модераторы, подскажите, плиз!
Shin Akuma
Интересующийся
9/14/2006, 8:23:27 AM
(Shаdоw @ 13.09.2006 - время: 08:31) (Shin Akuma @ 20.08.2006 - время: 01:49) неужели админам так тяжело тут ответить
Я заметил, что админам на этом ресурсе глубоко пох на простых юзеров. Я даже не знаю, как задать администрации интересующий меня вопрос по работе форума. Модераторы, подскажите, плиз!
аналогичный вопрос писал в личку меня проигнорировали
Я заметил, что админам на этом ресурсе глубоко пох на простых юзеров. Я даже не знаю, как задать администрации интересующий меня вопрос по работе форума. Модераторы, подскажите, плиз!
аналогичный вопрос писал в личку меня проигнорировали
DELETED
Акула пера
10/3/2006, 1:04:35 PM
я уже почти не помню чего там было сделано но что-то типа такого:
фаил ......../chat/inc/cmses/ipbCMS.php
CODE
function getUser($userid) {
$rv = NULL;
if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next())) {
$rec['roles'] = $this->getRoles($rec['status']);
$rec['login'] =iconv('CP1251','UTF-8',$rec['login']);
$rv = $rec;
}
return $rv;
}
function login($login, $password) {
$login=iconv('UTF-8','CP1251',$login);
$password=iconv('UTF-8','CP1251',$password);
.........
.........
.........
.........
.........
фаил ......../chat/inc/cmses/ipbCMS.php
CODE
function getUser($userid) {
$rv = NULL;
if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next())) {
$rec['roles'] = $this->getRoles($rec['status']);
$rec['login'] =iconv('CP1251','UTF-8',$rec['login']);
$rv = $rec;
}
return $rv;
}
function login($login, $password) {
$login=iconv('UTF-8','CP1251',$login);
$password=iconv('UTF-8','CP1251',$password);
.........
.........
.........
.........
.........