Posts tagged: ajax

E comercial/ampersand e JavaScript/AJAX

E comercial. Coma-o antes que ele te coma!

Hoje estava tendo problemas com o caracter & (e comercial/ampersand) no javaScript. O sistema é baseado em AJAX, portanto os dados ficam trafegando na forma de Query String e no fim é enviado por um Post Request.

Para não ter problema com caracteres especiais, essa query string era encodada com a função EncodeURI() do JavaScript. Aí estava o problema. Ele encoda toda a string para URI, mas não o caracter &, já que ele é usado como separador de variáveis na Query String. Tentei então usar a função escape(). Funciona, mas ferrava os acentos.

Achei que era a função escape que não entendia acento e botava caracteres estranhos no local, mas depois de muito teste acabei descobrindo que ele entendia sim os acentos, mas os passava pra latin1. Como uso padrão UTF-8, ferrei-me.

Então depois de uma pesquisada descobri a função encodeURIComponent(), esse sim vai encodar perfeitamente e respeitando o UTF-8.

Redes Sociais:
  • del.icio.us
  • TwitThis
  • Google
  • E-mail this story to a friend!
  • Rec6
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • Live
  • MySpace
  • Tumblr

WordPress Themes