[PHP/DB] Schlösser wordt Schlösser *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik haal klantgegevens op uit een importfile (.csv). Deze stop ik in een array en lees ze vervolgens in in een database. Alvorens ze in de database te stoppen bewerk ik ze met htmlentities. Als ik ze daarna uit de database uitlees worden alle letters met speciale karakters zoals ë, é, è, ç, etc. vervangen door dit soort tekens: ö.

Wat gaat er fout ?

Ik maak gebruik van de volgende codering:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

Ik heb hetzelfde, maar ik stop ze er met de UTF-8 codering in en haal ze daar ook weer mee op waardoor op het scherm de letters normaal zijn.

Hier zijn laatst ook nog topics over geweest:
[rml][ php]Weergave é en dergelijke niet goed.[/rml]
[rml][ html] welke charset?[/rml]

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
maar hoe doe je dat dan precies. ik heb een import file (import.php) waarin ik het csv bestand inlees en ik heb een bestand waarin ik de database resultaten weergeef. bij beide files heb ik
header('Content-type: text/html; charset=ISO-8859-15');
geplaatst, mar het schijnt geen verschil te maken, want zowel in de db als in die andere file krijg ik nog steeds die rare tekens.

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 00:18
Voor het erin stoppen:
http://nl3.php.net/manual/en/function.utf8-encode.php

En het eruit halen:
http://nl3.php.net/manual/en/function.utf8-decode.php

kun je toch wel wat mee?

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit is het veld:
't Straötje

Zo voeg ik het veld toe aan de db:
<? utf8_encode(addslashes($klant[1])) ?>
('t Straötje)

En zo lees ik het uit:
<? utf8_decode(stripslashes($rows['klaNaam'])) ?>

Resultaat: 't Straötje
Broncode: 't Straötje

Ligt het misschien aan de invoer of zo ?

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

Het kan ook aan de character encoding van de pagina liggen, je moet er voor zorgen dat je server UTF-8 headers gebruikt, en dat de client de pagina dus ook weergeeft in UTF-8

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Kijk eens met [u]Ethereal[/] wat voor headers de server precies teruggeeft. Ik heb ook wel eens meegemaakt dat ik vanuit PHP of HTML het niet voor elkaar kreeg de encodering te "overriden" die apache meegeeft in de headers. 't Kan dus ook aan je webserverconfiguratie liggen.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
thanx man, het werkt nu. ik had in het html bestand een andere header dan in mijn andere bestanden en die stond nog op ISO-8859-1.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 05 juli 2004 @ 09:03:
Ik haal klantgegevens op uit een importfile (.csv). Deze stop ik in een array en lees ze vervolgens in in een database. Alvorens ze in de database te stoppen bewerk ik ze met htmlentities. Als ik ze daarna uit de database uitlees worden alle letters met speciale karakters zoals ë, é, è, ç, etc. vervangen door dit soort tekens: ö.

Wat gaat er fout ?

Ik maak gebruik van de volgende codering:
Je hele probleem is overigens dat je file niet ISO-8859-1 is, maar een andere encoding (UTF-8 dus, maak ik op uit je laatste reactie). De erin-/eruit-haal-reacties in deze draad heb je an sich weinig aan omdat je een file hebt wat van tevoren al met een bepaald formaat is gecodeerd :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1