Indien je er voor kiest om met utf8 te werken, moet je alles in utf8 zetten.
* Voeg toe in PHP:
<?php
header("Content-Type: text/html; charset=UTF-8");
?>
Dit doe je vooraleer je html naar de gebruiker stuurt.
In principe dus net voor
<!DOCTYPE ... >
<html
* Voeg toe in HTML, ergens in <head>:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
* maak je MySQL database en tabellen aan met Collation: utf8_unicode_ci
Ik denk dat dit het meest belangrijke is. Er zijn nog extra maatregelen die je kunt nemen (in je formulier, in je mySQL queries, ...).
Probeer eens uit
CREATE TABLE IF NOT EXISTS gastenboek (
id int(11) NOT NULL AUTO_INCREMENT,
message text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
*/
// maar dan uiteraard met je eigen gegevens
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('phphulp', $con);
Ik heb mijn code volledig ongewijzigd gecopy/paste (ja, ik heb op zowat elke pc lokaal een database phphulp).
Ik heb het gisteren zelf uitgetest; het euro-teken wordt juist weergegeven bij mij.
Test eens mijn volledige code.
(database die je speciaal gebruikt om te testen, test-mapje, ... los van waar je nu mee bezig bent)
Misschien passeer je je data twee keer door htmlentities of zo.