uForum.uz

uForum.uz (https://uforum.uz/index.php)
-   ЦППМП (https://uforum.uz/forumdisplay.php?f=222)
-   -   Прошу помочь с объяснением запроса (https://uforum.uz/showthread.php?t=2836)

Elyor Xudayberdiev 24.10.2007 11:58

Прошу помочь с объяснением запроса
 
может кто-нибудь объяснить, что этот запрос выполняет?
DELETE FROM `prof_configs` WHERE CONVERT(`prof_configs`.`name` USING utf8) = 'max_files' LIMIT 1"
заранее спасибо
p.s. prof_configs - имя таблицы, name - имя поля. это я знаю, а остальное вообще не могу догнать

Vladimir Sagov 24.10.2007 12:18

DELETE FROM `prof_configs` WHERE CONVERT(`prof_configs`.`name` USING utf8 ) = 'max_files' LIMIT 1"

Удалить всё с таблицы prof_configs где (поле name преобразованое с использованием utf8 ) равняется 'max_files' лимит строк 1.

Akmal Bafoev 24.10.2007 12:22

не совсем так

удалить максимум 1 запись из таблицы prof_configs где поле name в кодировке utf8 равно max_files

Vladimir Sagov 24.10.2007 12:26

Цитата:

Сообщение от Akmal Bafoev (Сообщение 47372)
не совсем так

удалить максимум 1 запись из таблицы prof_configs где поле name в кодировке utf8 равно max_files

Да так вернее. Что то мне запятая показалась. Никогда не использовал это.

Elyor Xudayberdiev 24.10.2007 12:41

большое спасибо всем за ответ!
так, теперь следующий вопрос, если вы не против:
ситуация вот какая - есть сервер mysql, за бугром, консольного доступа нет. все изменения делаются через запросы на php. добавил запись в таблицу в кодировке win-1251, а когда запрашиваю select'ом, выводится "????????". созранял php с кодировкой utf8, почти то же самое, только каракули другие. show variables выводит следующее:
character_set_client latin1
character_set_connection latin1
character_set_database utf8
character_set_filesystem binary
character_set_results latin1
character_set_server utf8
character_set_system utf8
и что мне делать теперь?
P. S. просьба не кидать камнями, новичок я ещё

Vladimir Sagov 24.10.2007 13:15

Я после подключения и выбора БД ставлю эти вот строчки. Проблем с отображением русского не было ниразу.

mysql_query("set character_set_client='cp1251';");
mysql_query("set character_set_results='cp1251';");
mysql_query("set collation_connection='cp1251_general_ci';");

Elyor Xudayberdiev 24.10.2007 13:16

ещё раз спасибо большое!
если что не так будет - i'll be back (c) :)

Elyor Xudayberdiev 24.10.2007 13:54

так-с, ничего у меня не получилось. запрос выполнил, но ничего не изменилось (в смысле при show variables кодировки остались прежними).
есть ещё варианты какие?

Eldar Ishimbaev 24.10.2007 14:01

Дело в том, что по умолчания у мускула при установке кодировка устанавливается latin1 и таблицы потом создавать лучше в latin1_swedish_ci, если нет возможности переконфигурировать клиент. Создайте базу в кодировке latin1.

Ruslan Aliev 24.10.2007 14:05

Цитата:

Сообщение от Elyor Xudayberdiev (Сообщение 47410)
так-с, ничего у меня не получилось. запрос выполнил, но ничего не изменилось (в смысле при show variables кодировки остались прежними).
есть ещё варианты какие?

1 - Как вы заносите данные в БД? (если через phpMyAdmin то информация отображаемая им, и на сайте могут различаться, я имею ввиду что в phpMyADmin могут быть видны ????? а на сайте нормальные слова)
2 - Как вы просматриваете БД? (т.е. в какой кодировке генерируется страница. В какой кодировке таблица . В какой кодировке соединение.)

Самый простой способ дать запрос "SET NAMES 'cp1251'" СРАЗУ после коннекта с БД.
Обязательно чтобы такое соединение устанавливалось и при заливке данных и при чтении.


Текущее время: 13:45. Часовой пояс GMT +5.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
OOO «Единый интегратор UZINFOCOM»