Hoi,

Ik heb een programmaatje geschreven om spelling van woorden te controleren. Het is een soort quiz: iemand krijgt een woord dat hij moet spellen. Het woord wordt ingetypt. Als het goed is, wordt het inputveld groen. Is het fout, wordt het inputveld rood en komt de juiste spelling eronder te staan.

<?php
function vraag(){
	echo "<form name='quiz' action='' method='post'>
	          <input type='text' name='a1' autocomplete='off' /><br />
	          <input type='submit' name='submit' value='controleer' />
	        </form>";
}

function antwoord(){
	$antwoord = 'epidemieën';
	if($_POST['a1'] == $antwoord)
	{
		$bg = 'juist';
		$antw = '';
	}
	else
	{
		$bg = 'onjuist';
		$antw = $antwoord;
	}
?>

Dat gaat goed bij de meeste woorden. Maar niet als ik 'speciale tekens' gebruik zoals ë.
Als ik in Notepad++ bij $antwoord epidemieën invul, zegt hij in de browser epidemieën en is het dus fout.
Maar als ik voor $antwoord epidemie&euml;n of epidemie&#235;n invul gaat het ook niet goed. Ook al wordt de juiste schrijfwijze in het inputveld ingevuld, het wordt altijd fout gerekend.
Hoe los ik dit op?
Kies in Notepad++ Codering > Naar UTF-8 (zonder BOM) converteren voordat je een bestand opslaat.

Voeg daarnaast aan het begin van je PHP-script een HTTP-header toe voor UTF-8:


<?php
header('Content-Type: text/html; charset=utf-8');
?>


Met die twee maatregelen zou het goed moeten gaan.
Jaaa, het werkt. Bedankt!

Reageren