1 / 1 / 0
Регистрация: 01.03.2012
Сообщений: 149
1

почему не работает запрос, когда в поле name русские буквы?

02.03.2012, 10:37. Показов 2603. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброо времени суток
PHP
1
2
3
4
5
6
7
<?php
$db=mysql_connect("localhost", "root", "") or die("Ошибка");
mysql_select_db("dbsoap", $db) or die("Ошибка");
 
$res=mysql_query("SELECT * FROM tbsoap WHERE name='John'") or die("Ошибка");
 
?>
здесь все работает
а почему не работает когда в поле name русские буквы например?
PHP
1
$res=mysql_query("SELECT * FROM tbsoap WHERE name='Саша'") or die("Ошибка");
Спасибо заранье!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2012, 10:37
Ответы с готовыми решениями:

Не работает фильтрация когда ввожу русские буквы
Table1.Filter:='Nazvanie='+Edit1.Text; Когда ввожу в эдит например букву Г выводит ошибку что...

Когда вывожу таблицу то русские буквы выглядят как ?
Есть бд. из нее мне надо вывести таблицу adventure. сама таблица и текстовые поля в кодировке...

Русские буквы при введение в поле Имя
В форме обратной связи в поле Имя нельзя писать русские буквы. ТОлько аглийские пропускает и...

Только прописные русские буквы в поле для ввода
Как сделать, чтобы в поле для ввода (Edit или Memo) не вводились символы, кроме прописных букв...

6
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
02.03.2012, 12:15 2
PHP
1
2
$charset = mysql_client_encoding($link);
echo "Текущая кодировка: $charset\n";
mysql_set_charset — Устанавливает кодировку клиента
PHP
1
2
3
header('Content-Type: text/html; charset=utf-8');
mysql_set_charset('utf8');  
mysql_query("SET NAMES 'UTF8'");
0
1 / 1 / 0
Регистрация: 01.03.2012
Сообщений: 149
02.03.2012, 12:30  [ТС] 3
Что-то не то. Когда в БД устанавливаю utf8_general_ci при запросе
PHP
1
$res=mysql_query("SELECT * FROM tbsoap WHERE name='Иван'") or die("Ошибка соединение");
Ошибка соединение, а когда выставляю cp1251_general_ci и запрашиваю name='кириллица' то выдает Нет такой записи. Не могу понять как так кодовая стр. в UTF-8 без бом
0
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
02.03.2012, 12:39 4
Может проще кириллицу прогнать через функцию urlencode('Иван')
затем просто писать name='%C8%E2%E0%ED'
0
1 / 1 / 0
Регистрация: 01.03.2012
Сообщений: 149
02.03.2012, 12:51  [ТС] 5
Просто слово часто будет менятся не всегда нэйм=Иван
0
238 / 235 / 43
Регистрация: 16.03.2011
Сообщений: 750
02.03.2012, 12:57 6
Я писал проект на php в котором использовал при добавлении в базу
PHP
1
$name=urlencode($name);
я ни знал в какой кодировке будет передан name поэтому использовал не самый лучший вариант
при выводе:
PHP
1
<td> &nbsp;&nbsp;'.urldecode($row['name']).'&nbsp;&nbsp; </td>
может пригодится.
1
1 / 1 / 0
Регистрация: 01.03.2012
Сообщений: 149
02.03.2012, 13:40  [ТС] 7
В кодировки ANSI
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
header('Content-Type: text/html; charset=cp1251');
$db=mysql_connect("localhost", "root", "") or die("Ошибка");
mysql_select_db("dbsoap", $db) or die("Ошибка");
$res=mysql_query("SELECT * FROM tbsoap WHERE name='Иван'") or die("Ошибка тб");
$row=mysql_fetch_row($res);
if (!$row)
{
  echo "Нет такой записи";
} else
{
  $list = implode("<br>", $row);
  echo $list;
}
?>
Ответ: причем без разницы в каком формате в БД данные
1
Иванов
Иван
Иванович

В кодиировке UTF-8
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
header('Content-Type: text/html; charset=utf-8');
$db=mysql_connect("localhost", "root", "") or die("Ошибка");
mysql_select_db("dbsoap", $db) or die("Ошибка");
$res=mysql_query("SELECT * FROM tbsoap WHERE name='Иван'") or die("Ошибка тб");
$row=mysql_fetch_row($res);
if (!$row)
{
  echo "Нет такой записи";
} else
{
  $list = implode("<br>", $row);
  echo $list;
}
?>
Ответ: тоже не реагирует на кодировку в БД
Нет такой записи


БД та же
SQL
1
`dbsoap`.`tbsoap` (`id`, `lname`, `name`, `mname`) VALUES (NULL, 'Иванов', 'Иван', 'Иванович'), (NULL, 'Ivanov', 'Ivan', 'Ivanovich')
В чем прикол?
0
02.03.2012, 13:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2012, 13:40
Помогаю со студенческими работами здесь

В поле со списком русские буквы с запредельным кодом ascii...
Доброго времения суток! И снова у меня не выходит... В поле со списком в методе Нажатие клавиши...

Почему когда назвал кнопку btnCtoF выдаёт ошибку а когда btn_CtoF то работает верно?
import sys from PyQt4 import QtCore, QtGui, uic form_class = uic.loadUiType(&quot;tempconv.ui&quot;)...

Программа не считает русские буквы, почему?
procedure TForm1.Button1Click(Sender: TObject); var i,n,f,byk,cif:integer; s: string; begin...

Почему MS Visual C++ не показывает русские буквы
Вот такая программа(код) // rrrrrrrr.cpp: определяет точку входа для консольного приложения. // ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru