[PHP] Euro-teken in UTF-8

Pagina: 1
Acties:
  • 420 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • avdwerf
  • Registratie: Maart 2007
  • Laatst online: 17-07 21:23
Ben op dit moment bezig een site te maken die 5-talig is. Op dit moment wordt alles in de database als UTF-8 opgeslagen en volgens mij gaat dat tot nu toe allemaal goed. Echter doet elke keer 1 teken het niet, namelijk het €-teken. Alles wordt ingevoerd op de volgende manier:
- Tekst komt uit een wysiwyg editor
- die tekst gaat door de functie utf8_encode
- vervolgens wordt ie opgeslagen in de database
Als ik dan kijk in de database, zie ik daar een hoofdletter A staan met een dakje erop, en daarnaast het €-teken. Als ik die tekst echter uit de database haal en op een pagina zet (waar charset=utf8 in de header staat) is er echter helemaal niks zichtbaar, ook niet in de broncode...
is er iemand die weet hoe ik dit op kan lossen? thnx alvast

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Content-Type probleempje lijkt me. Zorg dat je pagina's ook de juiste HTTP response headers meekrijgen. "Content-Type: UTF-8" dus. Ik had laatst een vergelijkbaar probleem (ook met andere tekens), en dit loste het op.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 17-07 21:25
Het euro teken is een htmlentitie, nml. € dus je kan alvorens de utf8_encode te doen alle €-tekens vervangen door €
Michali schreef op donderdag 15 maart 2007 @ 10:42:
Content-Type probleempje lijkt me. Zorg dat je pagina's ook de juiste HTTP response headers meekrijgen. "Content-Type: UTF-8" dus. Ik had laatst een vergelijkbaar probleem (ook met andere tekens), en dit loste het op.
Nee, dat is het niet, want er staat ook een fout teken in de database!, Het probleem zit idd in de hoek die Wolf3D hieronder noemt.

Lees ook dit artikel eens

[ Voor 70% gewijzigd door een moderator op 15-03-2007 10:56 . Reden: HTML-entities worden gewoon geparset op GoT. :P ]


Acties:
  • 0 Henk 'm!

  • Wolf3D
  • Registratie: Augustus 2001
  • Laatst online: 01-07 17:52
Ik ben ook enige tijd bezig geweest om UTF8 correct in de database te krijgen. Na heeeel lang klooien vond ik ergens de volgende oplossing:

mysql_query("SET NAMES 'utf8'");

Deze regel moet je zetten vlak nadat je een database verbinding hebt gemaakt, dus:

mysql_connect($host, $use, $password);
mysql_query("SET NAMES 'utf8'");

Try it ...