e met trema (ë) komt niet uit database
Haal ik het uit de db en laat het zien op pagina dan krijg ik bv.: Libi�
In mn Html staat dit:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
tabel collatie als: utf8_general_ci
(en de velden ook zo)
Wat moet anders? iemand een idee ?
http://php.net/htmlentities <- werkt dat bij weergave?
??
doet hetzelfde !
je moet voordat je data in je tabel gooit er html_decode erover doen , en zodra je de gegevens weer opvraagt htmlentities gebruiken
set names (MySQL Query)
Zoek eens naar of zorg ervoor dat de database dezelfde charset gebruikt als de website. (UTF8) Standaard gaat een database op Latin staan (als ik het mij goed herinner) de 'set names' functie die Chris hierboven noemt helpt om de data als utf-8 uit de db te halen maar je kan beter van te voren zorgen dat het goed is.
Dus in je database zet je al je velden, tabellen op UTF-8. Je zet je meta charset in je site ook op UTF-8 en je gaat vanaf nu alle data UTF-8 inserten in je database.
Mocht je toevallig xajax gebruiken, deze codeert standaard alles wat in je xajax functie komt naar ISO-8859-1. Dus het is raadzaam om deze instelling aan te passen of om utf8_encode() functie van PHP over je velden heen te zetten voor je ze insert.
Als ik met een zoekveld, bv Libië in de database ga zoeken loopt hij vast en krijg ik een melding: pagina onbekend.
Hoe verder?
Gebruik htmlspecialchars of htmlententities moet wrrken