Ik zou graag bepaalde input opslaan in mijn MySql DB, het probleem zit hem in de speciale tekens die hier in voorkomen. Mijn vraag is dan ook hoe sla ik deze op?

Ik zou graag bepaalde input opslaan in mijn MySql DB, het probleem zit hem in de speciale tekens (ë, ń …) die hier in voorkomen. Mijn vraag is dan ook hoe sla ik deze op?

Wat ik heb tot nu toe:

<?php

include ('connect.php');

$var = mysql_real_escape_string('ë - ń');

//insert
//hier heb ik een hele simple insert maar als ik deze probeer in te voegen krijg ik de fout melding geen permission van phphulp.

//select
$sql = "SELECT * FROM table WHERE id = 1";
$result = mysqli_query($connect, $sql);

$row = mysqli_fetch_assoc($result);

echo $row['column'];

?>

Je zult zowel je de encoding van je bestanden, je HTML-document, je databaseconnectie, je databasetabellen en je velden op UTF-8 moeten zetten.


Regel 5 is verder loos en heeft niks met je probleem te maken.
Dankjewel het werkt nu perfect

Mijn connectie was nog niet UTF-8. voor mensen die hier naar googelen.

1. header('Content-Type: text/html; charset=utf-8');
2. mysqli_set_charset($connect, 'utf8');
3. Via PHPMyAdmin de collectie van een aantal velden veranderd naar "utf8_unicode_ci"

NB. Ik weet niet of dit al bekend is bij Phphulp maar het is niet mogelijk alles te posten, ik had geen permission om een simpele MySQL insert te posten.

Peter paul op 15/03/2015 14:32:18

NB. Ik weet niet of dit al bekend is bij Phphulp maar het is niet mogelijk alles te posten, ik had geen permission om een simpele MySQL insert te posten.

Is inmiddels al bekend ;-)
3. Via PHPMyAdmin de collectie van een aantal velden veranderd naar "utf8_unicode_ci"

Dit is "collation" en bepaalt hoe je zoekt en hoe er wordt gesorteerd en is verder niet echt van invloed op hoe data wordt opgeslagen.

Wat veel belangrijker is is dat de character encoderingen van je tabellen en kolommen ook UTF-8 (of, in mysql dus utf8) zijn. Als je tabellen nog latin1 zijn kun je je tabellen (en daarmee ook de data hierin) eenvoudig converteren naar utf8.

Wat bij deze conversie dan weer belangrijk is is dat er van origine ook echt latin1 DATA in zit, anders gaan er dingen mis bij het omzetten.

Reageren