powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ввод и вывод данных с MySQL
18 сообщений из 18, страница 1 из 1
Ввод и вывод данных с MySQL
    #39122068
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет =)
Я начинающий Web программист, и у меня возникла такая беда, когда я ввожу данные в базу ( русские символы ) то на выводе они отображаются как "?????", хотя в самой phpMyAdmin в бд они отображаются нормально. Вот небольшой пример :
Ввод данных : http:// client-bd.ru/add.php
Вывод дынных : http:// client-bd.ru/lol.php
Вот код ввода :
Код: php
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.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ввод данных</title>
</head>

<body>
<form name="form1" method="post" action="ob.php">
<table>
<tr>
    <td width="113"><label for="textfield">Фамилия :</label></td>
    <td width="140"><input type="text" name="femeli" id="femeli"></td>
</tr>
  <tr>
    <td><label for="textfield2">Имя :</label></td>
    <td><input type="text" name="name" id="name"></td>
  </tr>
  <tr>
    <td><label for="textfield3">Отчество :</label></td>
    <td><input type="text" name="otchestvo" id="otchestvo"></td>
  </tr>
  <tr>
    <td><label for="number">Серия паспорта:</label></td>
    <td><input type="number" name="pas_s" id="pas_s"></td>
  </tr>
  <tr>
    <td><label for="number2">Номер паспорта:</label></td>
    <td><input type="number" name="pas_n" id="pas_n"></td>
  </tr>
  <tr>
    <td><label for="number3">Телефон:</label></td>
    <td><input type="number" name="telefon" id="telefon"></td>
  </tr>
  <tr>
    <td><label for="email">Email:</label></td>
    <td><input type="email" name="email" id="email"></td>
  </tr>
</table>
<tr>
  <td><input type="submit" name="submit" id="submit" value="Сохранить в базе"></td>
</tr>
</table>
</form>
</body>
</html>


Вот код после ввода, он обращается в обработчик :
Код: php
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.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Обработка данных</title>
</head>
<?php


include ("mysql.php");
if (isset($_POST['femeli'])) {$femeli = $_POST['femeli']; if ($femeli == '') {unset($femeli);}}
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['otchestvo'])) {$otchestvo = $_POST['otchestvo']; if ($otchestvo == '') {unset($otchestvo);}}
if (isset($_POST['pas_n'])) {$pas_n = $_POST['pas_n']; if ($pas_n == '') {unset($pas_n);}}
if (isset($_POST['pas_s'])) {$pas_s = $_POST['pas_s']; if ($pas_s == '') {unset($pas_s);}}
if (isset($_POST['telefon'])) {$telefon = $_POST['telefon']; if ($telefon == '') {unset($telefon);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') {unset($email);}}

?>

<?php

if (isset($femeli) && isset($name) && isset($otchestvo) && isset($pas_n) && isset($pas_s) && isset($telefon) && isset($email))
{
//Пишем что заносим в базу
$result = mysql_query ("INSERT INTO fiz (femeli,name,otchestvo,pas_n,pas_s,telefon,email) VALUES ('$femeli','$name','$otchestvo','$pas_n','$pas_s','$telefon','$email')");
if ($result == 'true') {echo "<p>Данные успешно сохранены</p>";}
else "<p>Ошибка</p>";
}
else
{
echo "<p>Вы ввели не все данные</p>"	;	
}
?>
<body>
</body>
</html>


С бд он разговаривает через отдельный фаил подключения :
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Подключение к БД</title>
</head>
<body>
<?php

$db = mysql_connect ("localhost", "u0118903_baza", "пароль");
mysql_select_db("u0118903_baza",$db);

$result = mysql_query("SELECT * FROM fiz",$db);
$myrow = mysql_fetch_array($result);

?>
</body>
</html>


И вот сам вывод данных :
Код: php
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.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<?php
$db = mysql_connect ("localhost", "u0118903_baza", "пароль");
mysql_select_db("u0118903_baza",$db);

$result = mysql_query("SELECT * FROM fiz",$db);
$myrow = mysql_fetch_array($result);

do
{

echo $myrow["femeli"]."<br>";
echo $myrow["name"]."<br>";
echo $myrow["otchestvo"]."<br>";
echo $myrow["pas_n"]."<br>";
echo $myrow["pas_s"]."<br>";
echo $myrow["telefon"]."<br>";
echo $myrow["email"]."<br>";
}
while ($myrow = mysql_fetch_array($result));

mysql_select_db("uo118903_baza",$db); 

?>
<body>
</body>
</html>


Кодировка в БД ютф8, подскажите пожалуйста где я ошибся или что мне сделать для того что бы вывод данных был адекватным на русском языке. Зарание спасибо.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122129
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это Вы свои PHP-шные проблемы несёте в форум по MySQL?
Смотрите данные, которые находятся на сервере, с консоли сервера. Если там хрень - ищите косяк в своём PHP-коде, записывающем данные. Если там всё в порядке - ищите косяк в PHP-коде, который данные выводит.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122144
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, давайте включим логику, если бы я не смотрел и не пересматривал ищя проблему я бы сюда не писал, 100 раз код пересмотрел полностью, и не нашёл ошибку, скорее всего ошибка в синтаксисе базы или самих страниц выводка, как изменить синтаксис или может ошибка не в этом. Не нужно давать глупые советы ( мол пересмотри т т.д. т.п. ) я обратился за помощью ...
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122166
unutcon Mephi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wiseking, Я не знаток , но в работе пришлось сталкиваться с подобной проблемой ( только интерфейс C++ MFC).
Код: plaintext
1.
SHOW GLOBAL VARIABLES LIKE 'char%' 

запрос покажет установленные кодировки, также необходимо посмотреть правила сравнения( collation).

Скажу на основе С++ ->Советую вам посмотреть на описание функции mysql_query ( и аналог mysql_real_query), т.к. первая функция работает с ANSI строками( т.е. 1 байт на символ) , а вторая должна иметь еще и размерность(lenght) запроса.(Все в пределах языка С++).

Т.е. возможно нужна отдельная функция, которая будет кодировать русские буквы в запросах.( на С++ использую MultiByteToWideChar( cp1251-UTF8) и наоборот .

Часто возникает подобная проблема, если не установлена кодировка при соединении ( SET...) , но то с чем сталкивался я, это в основном выделения utf8 от 1 до 3х байт на символ( русские буквы 2) , а стандартные кодировки Windows и Linux( cp125 и koir8(могу заблуждаться)) на русские символы выделяют 1 байт.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122170
unutcon Mephi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wiseking,

Akina имел ввиду, что вы привели в основном PHP код, а это другой раздел форума.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122181
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unutcon Mephi,
Спасибо, но С++ я знаю плохо, поэтому облачно я понял что делать а вот как решить данную проблему в моей ситуации, увы нет =(
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122199
unutcon Mephi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wiseking,

Попробуйте добавле в раздел после коннекта к базе запрос:
Код: plaintext
SET NAMES utf8

Что вам показывает :
Код: plaintext
show global variables like 'char%'
Все кодировки кроме filesystem в utf8?

Код: plaintext
show global variables like 'collation%'
Какие значения выдает этот запрос?
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122222
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unutcon Mephi,

Код: php
1.
mysql_set_charset( 'utf8' );


нечего не дало, а то что ниже написали то это вообще неизвестный код...
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122223
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unutcon Mephi,

Код: php
1.
mysql_query ("SET NAMES utf8");


тоже нечего не дало
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122249
unutcon Mephi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wiseking,
А как вы тогда определили что у вас utf8 кодировка БД?

Запросы типа
Код: plaintext
show variables....
выполнять нужно в PhPMyAdmin( там же есть sqleditor) или в консоли.
Чтобы была возможность понять вашу проблему нужен результат этого запроса для 'char%' и 'colaltion'.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122296
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unutcon Mephi,

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show global variables like 'char%' LIMIT 0, 30' at line 2

Вот что выдал
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122324
unutcon Mephi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а откуда at line 2? У меня запрос выполняется( скопипастил из ошибки) в гугле нету подобных проблем с этим запросом.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122463
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wisekingAkina, давайте включим логику, если бы я не смотрел и не пересматривал ищя проблему я бы сюда не писал
Убедительно прошу Вас, ссылаясь ТОЛЬКО на информацию, которую Вы разместили в теме, указать (со ссылкой на конкретный фрагмент Вашего текста), корректны ли данные, размещённые в таблицах базы данных при просмотре их на консоли сервера (а не в PHP-клиенте с использованием приведённого кода), или нет.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122534
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Вы хоть сами поняли что написали ? Лично Я нет ...
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122640
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясняю для непонимающих.

У Вас цепочка от ввода корректных данных до вывода некорректных - длинная, состоящая из нескольких этапов. Чтобы понять, на каком этапе происходит порча данных, надо локализовать этот момент.
Я предлагаю начать с деления процесса пополам - на часть от ввода до попадания данных в БД и от попадания данных в БД до вывода. Для этого необходимо проверить, корректны ли данные в базе. А это можно сделать только просмотром данных, лежащих в таблицах БД, с консоли сервера (во всех остальных случаях в цепи отображения будет присутствовать дополнительный клиент, который может внести свои "поправки").

Вы этого не сделали. Вы всё щупаете "края" процесса, тогда как надо лезть в середину. Ну иногда пытаетесь внести какие-нибудь коррективы, надеясь, что авось поможет... Так что Ваше "ищя проблему" сродни рассматриванию неработающего автомобильного двигателя при открытом капоте - сколько в него не пялься, проблема не устранится, и колесо пинать бессмысленно, надо хотя бы за провода подёргать.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122644
wiseking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

В том то и дело то что данные в БД отображаются корректно но выводя их он пишет "???"
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122654
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wiseking,

header('Content-Type: text/html; charset=utf-8');

пробовали?

PS. Если в базе всё нормально, то это точно проблемы на стороне пхп.
...
Рейтинг: 0 / 0
Ввод и вывод данных с MySQL
    #39122683
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wisekingданные в БД отображаются корректно
Эххх... ну нет так нет...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Ввод и вывод данных с MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]