Я начал писать чат! И начались загвоздки.
Ну суть така: есть сообщение(набор слов и т.п. и одно или несколько слов могут оказаться никами пользователей.)
так вот мне нужно достать ники из сообщения(не меняя самого сообщения), и сохранить их в бд в отдельное поле.
Вот как я это делаю:
$recipient = str_word_count($message, 1);
$recipients = mysql_query("SELECT * FROM users");
while($result = mysql_fetch_array($recipients)) { $arr[] = $result[1]; }
$array = array_intersect($recipient, $arr);
$array = implode(",", $array);
Мои проблемы заключаются в следуйщем:
№1 функция кот. разбивает строку по словам и заносит в массив не выделяет цифры т.е. если ник Петя777 то получим Петя это по логике, но на практике получаю вот что: Array ( [0] => Пе� [1] => я ). Ну я думаю суть проблемы понятна.
№2 Ну а прблема два заключается том что из-за проблемы №1 все последуйщие дейсвия выполняються не правильно!
Помогите пожалуйста!!!
Спустя 12 минут, 5 секунд (24.08.2010 - 16:24) Nikitian написал(а):
переведите перед обработкой строку в кодировку cp1251 при помощи iconv, после всех работ - обратно. Строковые функции не хорошо работают с многобайтовыми кодировками,а у вас видимо utf-8 используется.
Спустя 8 минут, 40 секунд (24.08.2010 - 16:33) PiratXXX написал(а):
Nikitian
ну вот я сделал так:
результат еще хуже теперь: Array ( [0] => ���� )
ну вот я сделал так:
$message = iconv("utf-8", "cp1251", $message);
результат еще хуже теперь: Array ( [0] => ���� )
Спустя 1 час, 25 минут, 12 секунд (24.08.2010 - 17:58) Nikitian написал(а):
Цитата |
результат еще хуже теперь: Array ( [0] => ���� ) |
Это и есть ваш "Петя" в неверной кодировке.
Спустя 31 минута, 31 секунда (24.08.2010 - 18:29) PiratXXX написал(а):
Nikitian
Не то что это петя я понял, но почему он так отображаеться... А какую ему кодировка надо?
Не то что это петя я понял, но почему он так отображаеться... А какую ему кодировка надо?
Спустя 2 часа, 4 минуты, 41 секунда (24.08.2010 - 20:34) Gradus написал(а):
файл,поле бд переведи в одну и ту же кодировку + при соединение с бд укажи кодировку
Спустя 13 часов, 21 минута, 53 секунды (25.08.2010 - 09:56) linker написал(а):
А когда выводишь конверти обратно или переезжай полностью на cp1251 (но это глупо).
_____________
http://flibro.com/