после запроса в бд меняется кодировка
1.
Стас (08.11.2010 / 23:51)
есть запрос в бд
$o = mysql_query("SELECT `out`.`ip`, `out`.`ua`, `out`.`time`, `top_operators`.`name` FROM `out` LEFT JOIN `top_operators`ON `top_operators`.`id` = `out`.`operator` WHERE (`uid` = '".$uid."') ORDER by `time` DESC LIMIT 20");
-----------------------
после которого при вызове с тестового файла меняется кодировка и становится квадратиками...что это может быть? если закоментить эту строку не выводятся необходимые данные, но другие с текстового файла выводятся в нужном формате...
Сразу скажу что эта таблица хранится не в ютф8 а в латин...кто что подскажет?
Добавлено через 04:13 сек.
удалил таблицу...сделал дамп чтобы записало в ют8...не помогло
2.
Стас (09.11.2010 / 00:02)
осталось все тоже самое
3.
ZaRiN (09.11.2010 / 01:35)
Таблицы в утф делай и после коннекта с бд пиши
mysql_query('SET NAMES `utf8`');
4.
Стас (09.11.2010 / 01:43)
сделал таблицы в ютф...и до и после стоит сет найм...
5.
KOZZ (09.11.2010 / 04:15)
а зачем и до и после?
таблицы в ютф + после подключения mysql_set_charset('utf8', $connect); и все
6.
Стас (09.11.2010 / 13:42)
еще попробую твою запись, но мне кажется что там и до и после все прописано я х.з. ведь тлько в этом запросе косяк
7.
KOZZ (09.11.2010 / 13:44)
6, таблица в утф8 то перевелась?
8.
Стас (09.11.2010 / 15:19)
да...перевелась
9.
ктулху (09.11.2010 / 15:28)
mysql_query("SET character_set_results='utf8'");
попробуй
10.
Nu3oN (09.11.2010 / 15:31)
в бд укажи тип сравнивания cp1251_general_ci
11.
ктулху (09.11.2010 / 15:38)
10, не учи гадостям
12.
Azzido (09.11.2010 / 15:56)
mysql_set_charset
(PHP 5 >= 5.2.3)
mysql_set_charset -- Устанавливает кодировку по умолчанию
Описание
bool mysql_set_charset (string $charset [, resource $link_identifier])
mysql_set_charset() функция устанавливает кодировку по умолчанию для текущего соединения.
Замечание: Функция работает с MySQL 5.0.7 или выше версиями
Это предпочтительный способ сменить кодировку.
Использование mysql_query() чтобы выполнить SET NAMES... не рекомендуется.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
13.
Nu3oN (09.11.2010 / 16:20)
ShiftBHT_есть_чо7 (9 Ноября 2010 / 15:38)
10, не учи гадостям
С чего ты взял что это гадость?
В случае смены кодировки не возникнет никаких проблем+спокойно работает с юниксом
14.
Стас (09.11.2010 / 16:44)
нет...вот почему то после этого идет сбой...убераю строку нормально становится...ничего не пойму.
15.
ZipeR (09.11.2010 / 17:18)
Я ставлю кодировку всегда через mysql_query,мне без разницы на всякие рекомендации там,ещё бы для перевода рекомендации умного кода не было, дома буду приведу пример как я перевел
16.
Azzido (09.11.2010 / 17:27)
15.
ZipeR, кэп? щ_Щ
17.
KOZZ (09.11.2010 / 18:04)
15, не думай что ты самый умный ) раз разработчики написали что лучше делать через mysql_set_charset(), то лучше делать так )
тем более что разницы фактически никакой, а так даже писать на 4 символа меньше
18.
Lucky (09.11.2010 / 23:42)
mysql_set_charset быстрее
URL:
https://visavi.net/topics/15368