Символ Ė не может быть вставлен в базу данных - PullRequest
2 голосов
/ 10 февраля 2020

Невозможно вставить французские слова в базу данных.

<?php  


Class Row{

    private $db = NULL;

    public function __construct(){

        $this->db = $this->connect();

    }

    private function connect(){
        include_once dirname(__FILE__) . "/../config/globalconfig.php";
        $db = new PDO("mysql:host=" . DB_SERVER . ";dbname=" . DB_NAME . ";", DB_USER, DB_PASSWORD);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return $db;
    }

    public function insert(){

        $sql  = "INSERT INTO reservation (userId,workingDay,vehicleId,customerId,beginTime,endTime,beginTimeActual,endTimeActual,finalCustomer,phone, mobile,floor,address,zipCodeId,info,paymentModeId,price,kilometerNbr,price_total_ttc,price_received,status,infoSystem, isNote, no_email, no_gsm, owner_id_company_profile, multiday_reservation, parent_res_id, res_endDate,originalCreater) 
        VALUES ('54','2020-02-10','10','60546','00:00','00:00','00:00','00:00','test data','78956855','','1','Rue des Ėtudiants 28, Saint-Gilles, Belgium','8257','','2','0.00','0','0','0','planned','', '0', '0', '0','1', '0', '0','2020-01-10' ,'54' )";

        $stmt = $this->db->prepare($sql);
        return $stmt->Execute();

    }

    private function returnId(){

    }


}



$Row = new Row();

var_dump($Row->insert());

?

ОШИБКА: фатальная ошибка: Uncaught PDOException: SQLSTATE [22007]: недопустимый формат даты-времени: 1366 Неверное целочисленное значение : '' для столбца ...

После удаления символа 'Ė' из запроса на вставку все работает нормально.

Я уже пробовал метод кодирования utf8, методы htmlentities

1 Ответ

1 голос
/ 13 февраля 2020

Адресный столбец имеет cp1252 западноевропейский кодировать. Он изменился на utf8mb4 . Теперь он работает нормально.

За дополнительной информацией обращайтесь по этой внешней ссылке

https://www.eversql.com/mysql-utf8-vs-utf8mb4-whats-the-difference-between-utf8-and-utf8mb4/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...