Hoi,
Ik kom hier eventjes echt niet uit:
Ik heb een database in mysql en script in PHP. Nu verstuur ik data met een formulier via ajax naar een functie in PHP om een record toe te voegen. Normaliter gaat dit ook prima. Alleen krijg ik ipv een € teken in de record een € (in de output browser wel gewoon een €).
- Kolom type in mysql is longtext, collatie utf8mb4_unicode_ci
Nu snap ik dat dit waarschijnlijk een charset probleem is maar het volgende helpt niet:
- tabel/database charset veranderd naar: charset & collation to utf8mb4 and utf8mb4_unicode_ci
- de charset meesturen met PDO:
En met
Wie o wie?
Ik kom hier eventjes echt niet uit:
Ik heb een database in mysql en script in PHP. Nu verstuur ik data met een formulier via ajax naar een functie in PHP om een record toe te voegen. Normaliter gaat dit ook prima. Alleen krijg ik ipv een € teken in de record een € (in de output browser wel gewoon een €).
- Kolom type in mysql is longtext, collatie utf8mb4_unicode_ci
Nu snap ik dat dit waarschijnlijk een charset probleem is maar het volgende helpt niet:
code:
in de header van de html pagina.1
| <meta charset="utf-8"> |
code:
in de form1
| accept-charset="utf-8" |
- tabel/database charset veranderd naar: charset & collation to utf8mb4 and utf8mb4_unicode_ci
- de charset meesturen met PDO:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { $connection = new PDO("mysql:host=$servername;dbname=$db;charset=utf8mb4", $username, $password, $options); $connection->exec("SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'"); // set the PDO error mode to exception $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } |
En met
code:
krijg ik UTF8 terug....1
| mb_detect_encoding() |
Wie o wie?
[ Voor 4% gewijzigd door flexje op 10-06-2024 18:30 ]
"Try not to become a man of success but rather to become a man of value..."