Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 72

Не работает поиск в БД, если искать русские символы.

15.02.2014, 10:49. Показов 997. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем помогите плз с таким вопросом: Имеется поисковая форма(search.html). В ней пользователь может выбрать тип поиска(по автору, по названию, по ISBN). B затем вводит само значение поиска. То есть например получается "по автору" и "Майкл". После щелчка "найти" вызывается сценарий "results.php". В ней осуществляется запрос к БД и вывод результата запроса. Проблема в том, что ввожу имя существующего в БД автора(русскими буквами). Запрос выводит 0 строк. Потом зашел в БД и поменял имя автора(написал англ буквами). Сценарий сразу заработал и вывел все книги этого автора. Вопрос: почему php-сценарий не может найти руссконаписанные слова в БД.
это код search.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html>
<head>
  <title>Магазин "Буквофил" – Поиск в каталоге</title>
</head>
 
<body>
  <h1>Магазин "Буквофил" - Поиск в каталоге</h1>
  <form action="results.php" method="post">
    Выберите тип поиска:
 
    <select name="searchtype">
      <option value="author">По автору</option>
      <option value="title">По названию</option>
      <option value="isbn">По ISBN</option>
    </select>
    
 
    Введите информацию для поиска:
 
    <input type="text" name="searchterm" size="40" />
    
 
    <input type="submit" name="submit" value="Найти" />
  </form>
 
</body>
</html>
А это results.php
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html>
<head>
  <title>Магазин "Буквофил" – Результаты поиска</title>
</head>
<body>
<h1>Магазин "Буквофил" - Результаты поиска</h1>
<?php
  // создание коротких имен переменных
  $searchtype = $_POST['searchtype'];
  $searchterm = trim($_POST['searchterm']);
 
  if (!$searchtype || !$searchterm) {
     echo 'Вы не ввели параметры поиска. Вернитесь' .
          ' на предыдущую страницу и повторите ввод.';
     exit;
  }
 
  if (!get_magic_quotes_gpc()) {
    $searchtype = addslashes($searchtype);
    $searchterm = addslashes($searchterm);
  }
 
  @ $db = new mysqli('localhost', 'books', 'glormanutd', 'books');
  $errn = mysqli_connect_errno();
  if (mysqli_connect_errno()) {
     echo 'Ошибка: Не удалось установить соединение' . 
          ' с базой данных. Повторите попытку позже.';
     exit;
  }
 
  $query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
  $result = mysqli_query($db, $query);
  $num_results = $result->num_rows;
  echo "<p>Найдено книг: ".$num_results."</p>";
 
  for ($i = 0; $i < $num_results; $i++) {
     $row = $result->fetch_assoc();
     echo "<p><strong>".($i+1).". Название: ";
     echo htmlspecialchars (stripslashes($row['title']));
     echo "</strong>
Автор: ";
     echo stripslashes($row['author']);
     echo "
ISBN: ";
     echo stripslashes($row['isbn']);
     echo "
Цена: ";
     echo stripslashes($row['price']);
     echo "</p>";
  }
 
  $result->free();
  $db->close();
?>
 
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2014, 10:49
Ответы с готовыми решениями:

Как в C# искать русские символы?
data_href=&quot;Привет&quot; if (data_href.Contains(&quot;Привет&quot;) { } как такое реализовать*??

Не отправляет письмо если имя компьютера содержит русские символы
Всем доброго времени. Есть тривиальный код отправки письма на С# var mail = new MailMessage(); var...

Fopen не видит файл, если в его пути содержатся русские символы
Здравствуйте! Столкнулся с очень неприятной проблемой. Моя программа получает путь к нужному файлу и через строковую переменную...

2
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
15.02.2014, 14:23
Попробуйте после подключения к БД выполнить такие запросы:
SQL
1
SET NAMES 'ваша кодировка'
и
SQL
1
SET CHARACTER SET 'ваша кодировка'
"ваша кодировка" - это кодировка файла, в котором скрипт.
0
 Аватар для mav
228 / 206 / 120
Регистрация: 23.06.2009
Сообщений: 481
15.02.2014, 14:24
видимо, проблема в кодировке
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2014, 14:24
Помогаю со студенческими работами здесь

Если в A есть латинские буквы, то упорядочить символы B в алфавитном порядке; в остальных случаях продублировать русские
Задание: Если в A есть латинские буквы, то упорядочить символы B в алфавитном порядке; в остальных случаях продублировать русские буквы. ...

В директории сохранения файла русские символы заменяются на непонятные символы
При сохранении файл через диалоговое окно русские символы заменяются на непонятные тем самым Window выдает ошибку.

Широкие символы wchar_t wstring не хотят принимать русские символы
Собственно вопрос в шапке, вот примеры: std::wstring str = L&quot;блин комом&quot;; и такое: wchar_t stroka = L&quot;abcdefghijklmnopqrstuvwxyz...

Поиск и копирование в папку если в ее имя содержит определенные символы
Привет ребятки, помогите пожалуйста автоматизировать скрипт для обновления терминалов, а их порядка 800 шт... @echo off Echo...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru