[html]probleem met encoding(?) op Safari

Pagina: 1
Acties:

  • TeeDee
  • Registratie: Februari 2001
  • Nu online
Voor een project dien ik met Javascript een popup te tonen.
Nu zit er in de aanroep wel eens een 'ë' in de tekst string.

Bijv. (versimpelde code)
code:
1
<a href="#" onClick="ShowString('ë');">ë</a>


Dit werkt op IE en FireFox prima, alleen in Safari (op de mac dus) gaat dit fout.
Deze maakt daar een
code:
1
ë
van.

Ik heb reeds geprobeerd om vanuit mijn applicatie de ë te encoderen naar:
code:
1
2
3
%EB
&euml;
ë
Maar geen van deze manieren werkt.
De encoding van de pagina staat op UTF-8.

Zie ik nu iets over het hoofd?

[ Voor 11% gewijzigd door TeeDee op 29-05-2006 12:44 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
ë zou moeten werken.. ik kan echter 2 dingen bedenken waarom het niet zou werken

1: bug in safari (meest waarschijnlijk)
2: je gebruikt iets als innerhtml voor je popup, en daardoor parsed safari niet de html entities... (kortom: weer een bug in safari)

This message was sent on 100% recyclable electrons.


  • TeeDee
  • Registratie: Februari 2001
  • Nu online
De popup wordt inderdaad gevuld met innerhtml. Kortom: dit is een bug waar ik niks aan kan doen?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
TeeDee schreef op maandag 29 mei 2006 @ 13:06:
De popup wordt inderdaad gevuld met innerhtml. Kortom: dit is een bug waar ik niks aan kan doen?
probeer het eens op een nette manier (AppendChild etc.), wie weet werkt het dan wel (blijft een gok)

This message was sent on 100% recyclable electrons.


  • TeeDee
  • Registratie: Februari 2001
  • Nu online
BasieP schreef op maandag 29 mei 2006 @ 13:11:
[...]

probeer het eens op een nette manier (AppendChild etc.), wie weet werkt het dan wel (blijft een gok)
Zal er eens induiken mbt het hele appendChild (ben geen held in DOM). De string wordt middels AJAX gebouwd en bevat volledige HTML code.

JavaScript:
1
document.getElementById('stringPreview').innerHTML= response.value;


edit:

Hier stond code, maar schijnt het probleem niet op te lossen

[ Voor 90% gewijzigd door TeeDee op 29-05-2006 13:37 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 27-10-2025
wat gebeurt er eigenlijk precies als je ajax responseText "ë" aanlevert? Want je zegt dat oa. die niet werkt, maar mij is niet duidelijk wat er dan niet werkt. Dat simpelweg de ë niet werkt is niet zo heel vreemd aangezien dit van de encoding van ajax afhangt en daar zijn nog wel wat issues mee.

Want in principe ziet je probleem eruit alsof UTF8 wordt gestuurd naar de browser, maar ASCII wordt verwacht.

[ Voor 18% gewijzigd door .Johnny op 29-05-2006 13:32 ]


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 27-10-2025
Trouwens; wat is je response object eigenlijk? Want hiervoor kun je toch kiezen tussen responseText en responseXML. ik vraag me af welk object jij om de value loopt te vragen. misschien is dat de reden dat het niet geparsed naar ASCII is?

  • TeeDee
  • Registratie: Februari 2001
  • Nu online
GIJoke schreef op maandag 29 mei 2006 @ 13:36:
Trouwens; wat is je response object eigenlijk? Want hiervoor kun je toch kiezen tussen responseText en responseXML. ik vraag me af welk object jij om de value loopt te vragen. misschien is dat de reden dat het niet geparsed naar ASCII is?
Geen flauw idee.
Het betreft hier de Ajax.net library, en ik zou zo 1 2 3 niet weten hoe je daar de encoding in kan stellen.

Edit:
Zojuist een nieuwe versie van de AjaxPro.net library geprobeerd welke een request/response van UTF-8 zou moeten hebben. Dit geeft nog steeds geen resultaat op Safari.
http://www.ajaxpro.info/

[ Voor 27% gewijzigd door TeeDee op 29-05-2006 13:58 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 27-10-2025
Ajax.net library?

  • TeeDee
  • Registratie: Februari 2001
  • Nu online
Right. Dit was even een stom iets. De HTML encoding had ik niet op de aanroep moeten doen, maar in de functie welke de string (response.value) retourneert. 8)7

Alles werkt nu naar behoren.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1