после запроса в бд меняется кодировка

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 символа меньше smile

18. Lucky (09.11.2010 / 23:42)
mysql_set_charset быстрее

URL: https://visavi.net/topics/15368