 
  
  public function update(array $data, int $id): void
    {
        $this->checkFields($data);
        $params = [];
        $set = "";
        foreach($data as $key => $value)
        {
            $set .= ($set ? "," : "") . "`$key` = ?";
            $params[] = $value;
        }
        $params[] = $id;
        $sql = "UPDATE `$this->table` SET $set WHERE `$this->primary`=?";
        $this->db->prepare($sql)->execute($params);
    }
    public function delete($id)
    {
        $sql = "DELETE FROM `$this->table` WHERE `$this->primary`=?";
        $this->db->prepare($sql)->execute([$id]);
    } 
  
   
  
   
  
   
  
  
Черный ромб означает, что браузер ждёт данные в утф 8, а ему приходит однобитная кодировка.
Вы или получаете данные из бд криво, или портите их по дороге