За последние 24 часа нас посетили 53947 программистов и 1719 роботов. Сейчас ищут 977 программистов ...

Как изменить кодировку сообщения из формы

Тема в разделе "PHP для новичков", создана пользователем RazerVG, 12 авг 2014.

  1. RazerVG

    RazerVG Активный пользователь

    С нами с:
    5 дек 2013
    Сообщения:
    103
    Симпатии:
    0
    Учусь по книге "Изучаем PHP и MySQL"

    Такой вопрос есть форма

    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    4. <head>
    5.   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    6.   <title>Космические пришельцы похишали меня - сообщение о похищении</title>
    7.   <link rel="stylesheet" type="text/css" href="style.css" />
    8. </head>
    9. <body>
    10.   <h2>Космические пришельцы похишали меня - сообщение о похищении</h2>
    11.  
    12.   <p>Расскажите вашу историю похищения космическими пришельцами:</p>
    13.   <form method="post" action="report.php">
    14.     <label for="firstname">Имя:</label>
    15.     <input type="text" id="firstname" name="firstname" /><br />
    16.     <label for="lastname">Фамилия:</label>
    17.     <input type="text" id="lastname" name="lastname" /><br />
    18.     <label for="email">Ваш адрес электронной почты?</label>
    19.     <input type="text" id="email" name="email" /><br />
    20.     <label for="whenithappened">Когда это произошло?</label>
    21.     <input type="text" id="whenithappened" name="whenithappened" /><br />
    22.     <label for="howlong">Как долго вы отсутствовали?</label>
    23.     <input type="text" id="howlong" name="howlong" /><br />
    24.     <label for="howmany">Сколько их было?</label>
    25.     <input type="text" id="howmany" name="howmany" /><br />
    26.     <label for="aliendescription">Опишите их:</label>
    27.     <input type="text" id="aliendescription" name="aliendescription" size="32" /><br />
    28.     <label for="whattheydid">Что они делали с вами?</label>
    29.     <input type="text" id="whattheydid" name="whattheydid" size="32" /><br />
    30.     <label for="fangspotted">Видели ли вы мою собаку Фэнга?</label>
    31.     Да <input id="fangspotted" name="fangspotted" type="radio" value="yes" />
    32.     Нет <input id="fangspotted" name="fangspotted" type="radio" value="no" /><br />
    33.     <img src="fang.jpg" width="100" height="175"
    34.         alt="Моя собака Фэнг" /><br/>
    35.     <label for="other">Дополнительная информация</label>
    36.     <textarea id="other" name="other"></textarea><br />
    37.     <input type="submit" value="Сообщение о похищении" name="submit" />
    38.   </form>
    39. </body>
    40. </html>
    Есть php - сценарий

    Код (Text):
    1. <html>
    2. <head>
    3.     <title>Космические пришельцы похищали меня - сообщение о похощении</title>
    4.     <meta charset="utf-8">
    5. </head>
    6.  
    7. <body>
    8.     <h2>Космические пришельцы похищали меня - сообщение о похощении</h2>
    9.  
    10. <?php
    11.     $first_name = $_POST['first_name'];
    12.     $last_name = $_POST['last_name'];
    13.     $when_it_happened = $_POST['whenithappened'];
    14.     $how_long = $_POST['howlong'];
    15.     $how_many = $_POST['howmany'];
    16.     $alien_description = $_POST['aliendescription'];
    17.     $what_they_did = $_POST['whattheydid'];
    18.     $fang_spotted = $_POST['fangspotted'];
    19.     $email = $_POST['email'];
    20.     $other = $_POST['other'];
    21.  
    22.     $dbc = mysqli_connect('localhost','root','root',
    23. 'aliendatabase')
    24.         or die ('Ошибка соединения с MySQL-сервером');
    25.  
    26.     $query = "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, " .
    27.         "how_many, alien_description, what_they_did, fang_spotted, other, email) " .
    28.         "VALUES ('$first_name', '$last_name', '$when_it_happened', '$how_long', '$how_many', " .
    29.         "'$alien_description', '$what_they_did', '$fang_spotted', '$other', '$email')";
    30.  
    31.     $result = mysqli_query($dbc, $query)
    32.         or die ('Ошибка при выполнении запроса к базе денных.');
    33.  
    34.     mysqli_close($dbc);
    35.  
    36.     echo 'Спасибо за заполнение формы.<br>';
    37.     echo 'Вы были похищены' . $when_it_happened;
    38.     echo ' и отсутствовали в течение ' . $how_long . '<br>';
    39.     echo 'Количество космических пришельцев: ' . $how_many . '<br>';
    40.     echo 'Опишите их: ' . $alien_description . '<br>';
    41.     echo 'Что они делали? ' . $what_they_did . '<br>';
    42.     echo 'Видели ли вы мою собаку Фэнга?' . $fang_spotted . '<br>';
    43.     echo 'Дополнительная информация: ' . $other . '<br>';
    44.     echo 'Ваш адрес электронной почты ' . $email;
    45. ?>
    46.  
    47. </body>
    48. </html>
    Оба файла имеют кодировку UTF-8, таблица и БД utf8_general_ci. После отправки формы в БД одни закорючки как это исправить???
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Попробуйте в БД выполнить команду set names 'utf8'