SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.08.2016 14:53:57

Milordk
Участник
Зарегистрирован: 25.04.2010
Сообщений: 6

Поиск по базе

Всем доброго дня!

Пытаюсь искать в БД (mysql 5.6.30, utf-8, utf8-unicode_ci) строку по полю в котором русские буковки..  ( SELECT id FROM <table> WHERE nomber="<значение>", значение в UTF-8 )
Проблема с поиском возникает (то что замечено) при значении поля - "р220рн777", "р156нн197" - как минимум комбинация "р" и "н"

Подскажите куда копать.. целый день пытаюсь понять причину..

Неактивен

 

#2 24.08.2016 14:56:44

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Поиск по базе

Кодировка клиента UTF8?

Неактивен

 

#3 24.08.2016 15:05:02

Milordk
Участник
Зарегистрирован: 25.04.2010
Сообщений: 6

Re: Поиск по базе

да, идет ajax запрос со страницы с кодировкой UTF-8, далее парсинг в php и затем запрос в БД.. причем ~95% значений поля - находятся.. не находятся "некоторые"..
в скрипте (php) сделал вывод полученного значения - все ок, делаю поиск - результат 0...

Отредактированно Milordk (24.08.2016 15:07:38)

Неактивен

 

#4 24.08.2016 15:07:05

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Поиск по базе

Попробуйте отладить скрипт PHP. Сделайте при поиске INSERT в другую таблицу и затем сразу же поиск тоже же значения во вспомогательной таблице. Проверьте затем содержимое вспомогательной таблицы.

Неактивен

 

#5 24.08.2016 16:17:58

Milordk
Участник
Зарегистрирован: 25.04.2010
Сообщений: 6

Re: Поиск по базе

rgbeast написал:

Попробуйте отладить скрипт PHP. Сделайте при поиске INSERT в другую таблицу и затем сразу же поиск тоже же значения во вспомогательной таблице. Проверьте затем содержимое вспомогательной таблицы.

смотрю данные в webmin mysql - кодировка в браузере выставлена UTF-8.. вижу русские буквы.. каким образом можно посмотреть кодировку данных в таблице? не самой таблицы (она то в UTF-8, как и все в mysql)

Неактивен

 

#6 24.08.2016 16:34:21

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Поиск по базе

SHOW CREATE TABLE `имя_таблицы`;

Результат будет содержать кодировку отдельных полей, если она отличается от кодировки таблицы

Неактивен

 

#7 24.08.2016 16:43:59

Milordk
Участник
Зарегистрирован: 25.04.2010
Сообщений: 6

Re: Поиск по базе

| ep_6_sh22_cars | CREATE TABLE `ep_6_sh22_cars` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `vincle` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `model` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
  `userid` int(3) DEFAULT NULL,
  `color` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
  `nomber` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL,
  `foto_link` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `carskey` (`model`,`userid`,`nomber`),
  UNIQUE KEY `checkcars` (`userid`,`nomber`)
) ENGINE=MyISAM AUTO_INCREMENT=361 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
 

Неактивен

 

#8 24.08.2016 16:46:37

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Поиск по базе

Значит все utf8. Вопрос теперь к работе скриптов - не могут ли они испортить строку перед формированием запроса. Для этого предлагал выше выполнить отладку.

Неактивен

 

#9 24.08.2016 17:13:36

Milordk
Участник
Зарегистрирован: 25.04.2010
Сообщений: 6

Re: Поиск по базе

rgbeast написал:

Значит все utf8. Вопрос теперь к работе скриптов - не могут ли они испортить строку перед формированием запроса. Для этого предлагал выше выполнить отладку.

на всех стадиях - формат данных идет utf-8.... начиная с ввода, формирования post запроса до момента - когда делаю SELECT ... WHERE nomber="<значение>"...

даже создал запрос статический - вбил р220рн777.. результат - не найдено)

Отредактированно Milordk (24.08.2016 17:15:14)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson