@moneymakerXA

Как разобраться с кодировкой отправки php запроса в бд mysql?

Всем доброго времени суток! Есть php код, чуть ниже его закину, пол дня ищу решение, ничего не работает. Проблема заключается в том, что в бд появляются знаки вопроса, при отправке данных кириллицей

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php 

    header("Content-Type: text/html; charset=UTF-8");       
require_once 'connect.php'; // подключаем скрипт
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database) 
        or die("Ошибка " . mysqli_error($link)); 
     
    if ($link) {
        echo "yes";
    } else {
        echo "no";
    }
     
// если запрос POST 
if(isset($_POST['name']) && isset($_POST['phone']) && isset($_POST['id'])){
 
    $id = htmlentities(mysqli_real_escape_string($link, $_POST['id']));
    $name = htmlentities(mysqli_real_escape_string($link, $_POST['name']));
    $phone = htmlentities(mysqli_real_escape_string($link, $_POST['phone']));
     
    $query ="UPDATE `orders` SET `name`='$name', `phone`='$phone' WHERE `id`='$id'";
    var_dump($query);
    $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 
 
    if($result)
        echo "Данные обновлены"; 
}
         
// закрываем подключение
mysqli_close($link);
?>

        <h2>Изменить номер телефона</h2>
            <form method='POST'>
            <input type='text' name='id' value='$id' />
            <p>Введите Имя:<br> 
            <input type='text' name='name' value='$name' /></p>
            <p>Введите номер: <br> 
            <input type='text' name='phone' value='$phone' /></p>
            <input type='submit' value='Сохранить'>
            </form>    

</body>
</html>
  • Вопрос задан
  • 1114 просмотров
Пригласить эксперта
Ответы на вопрос 2
fast-je
@fast-je
Пишу на php.
1. После установки соединения с бд установи кодировку
$link->set_charset("utf8");
2. Проверить кодировку mysql должна быть "Кодировка сервера: UTF-8 Unicode (utf8)"
3. Сама таблица должна иметь кодировку "utf8_general_ci".
4. Проверить чтобы все файлы были кодировки utf8
5. Проверить htaccees файл, если такой имеется.
Ответ написан
Комментировать
Почитай

Обрати внимание на mysql_set_charset( 'utf8' );, так же файлы с php кодом чтобы были в utf-8 и загляни в базу, посмотри таблицы и база должны быть в кодировке utf8_general_ci, а то бывает latin1_swedish_ci ))))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект