login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost]ajax - karakterencoding

Offline bosgroen - 02/09/2006 17:54 (laatste wijziging 02/09/2006 21:24)
Avatar van bosgroenGouden medaille

PHP interesse
Oké, ik heb een klein probleempje met mijn ajax-script:

Ik stuur html-data van de server door naar het ajax-script, dit vang ik op en output ik direct in een div:
  1. divke.innerHTML = myajax.responseText

dit werkt perfect
maar het probleem zit hem erin dat alle 'ë' vervangen worden door een '?' (vermoedelijk tevens andere karakters)

Een oplossing dacht ik gevonden te hebben door mijn output op de server eerst om te zetten naar utf8.
  1. echo utf8_encode ($tpl->getOutputContent());

Dan verschijnt wel degelijk een 'ë' op het scherm waar dat moet (html), behalve echter binnenin een tekstvak (dan krijg ik ë).

Wie weet raad? (misschien een utf8_decode function in JS?)

5 antwoorden

Gesponsorde links
Offline Maarten - 02/09/2006 18:26
Avatar van Maarten Erelid Output naar de server eerst door htmlentities halen?
Offline Richard - 02/09/2006 18:31 (laatste wijziging 02/09/2006 18:34)
Avatar van Richard Crew algemeen Ik zou utf8_encode gebruiken, en charset utf-8 gebruiken, dan weet je zeker dat het goed weergegeven wordt.

EDIT: had je al geprobeerd dus. werkt bij mij prima, dus snap t probleem niet;-)
Offline bosgroen - 02/09/2006 19:07 (laatste wijziging 02/09/2006 19:51)
Avatar van bosgroen Gouden medaille

PHP interesse
@murfy: je begrijpt het probleem niet
@JeXus, je bedoelt de html-file definiëren als utf-8, met of zonder maakt geen verschil uit (kheb een iso-8859-1)

ok, probleem ligt blijkbaar veel vroeger, de mysterieuze A> werd gevormd tijdens het het invoeren van de tekst (vroeger) eveneens via ajax.
Het is zo dat ik op javascript-niveau eerst: encodeURIComponent van de tekstvakinhoud doe, maar ik doe (nuja, deed) geen enkele decode.

Vraag: Welke php-functie te gebruiken voor de JS encodeURIComponent terug om te zetten?
Offline Richard - 02/09/2006 19:41
Avatar van Richard Crew algemeen Jep, in HTML gewoon <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />. Werkt prima.
Offline bosgroen - 02/09/2006 20:30 (laatste wijziging 02/09/2006 21:16)
Avatar van bosgroen Gouden medaille

PHP interesse
Het laatste deel van mijn probleem loste ik op door: utf8_decode(urldecode($_POST['post'])) voordat ik de post-tekst toevoeg aan de database (en safequery enzo doe)

Nu lijkt alles te lukken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s