Czemu nie ma polskich znaków pomiędzy mysqli a pdo/php

0

kliknij na link aby zobaczyć zdjęcie
ZDJĘCIE 1
ZDJĘCIE 2
Mam pytanie czemu mi zamiast "ł" wyskakuje "?"
czego zapomniałem?

Fragment kodu

echo '
<html lang="pl-PL">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="style.css" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=PT+Serif" rel="stylesheet">
.
.
.
<select name="d_autor">
<option value=""></option>
';
$stmt = $db->query('SELECT * FROM s_autor WHERE aktywny = 1 ORDER BY s_autor.nazwisko_autora ASC');
foreach($stmt as $row)
{
echo '<option value='.$row['id_autor'].'>'.$row['nazwisko_autora'].' '.$row['imie_autora'].'</option>';
}
$stmt->closeCursor();
echo' </select>

1

charset=iso-8859-1 ?

0

było i jest to samo

0

A kodowanie pliku w którym piszesz skrypt masz UTF8?
Zakładając, że HTML odczytuje UTFa ok i baza jest też na UTFie to błąd wyświetlania sugeruje problem przy renderowaniu danych, a ten może być jeżeli kodowanie samego pliku masz inne niż UTF

0

no właśnie jest wszytko przestawione na utf8 wszystko, formularz skrypty baza i pliki html

0

A przy połączeniu z bazą danych, dodałeś atrybut aby odpowiednio formatował wyciągane i wkładane dane?
Przykład metody z mojego kodu:


public function connect() : \PDO
{
    $pdo = new PDO(
        'mysql:host='.getenv('host').';dbname='.getenv('db_name').'', ''.getenv('user').'', ''.getenv('password'),
        [
            PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8",
            PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING,
        ]
    );
    return $pdo;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1