Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/05/2010, 13:08
salojc2006
 
Fecha de Ingreso: agosto-2009
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: envar singno interrogación cerrado...

ok, gracias..
pero el problema lo he detectado del lado del cliente...

porque cuando quiero enviar el texto "¿?" el firefox me tira el error:
"malformed URI sequence" en la librería prototype.

lo que se envía para la cadena "¿?" resulta ser "%bf%3f"

está mal codificada la cadena?

les paso el codigo fuente:

Código Javascript:
Ver original
  1. function sendText() {
  2.     var url = './_ajax/fsendtext.php';
  3.     var urlParams='uid='+userid+'&fid=' + forumid + '&text=' + prepareString($(textContainer).value);
  4.    
  5.     var send = new Ajax.Request(url, {
  6.         method: 'post',
  7.         parameters: urlParams,
  8.         onComplete: sendTextConfirmation
  9.     });
  10.     Field.select('text');
  11.     $(textContainer).value='';
  12.     setTimeout(function(){Form.reset('frmtext');},5);
  13. }
  14.  
  15. function prepareString(str) {
  16.     str=encodeURL(str.stripTags().stripScripts().escapeHTML());
  17.     alert(str); //con este alrert visualizo en pantalla lo que envía
  18.     return str;
  19. }
  20.  
  21. function encodeURL(text) {
  22.     var encoded = "";
  23.     for (i = 0; i < text.length; i++) {
  24.         encoded += "%" + String.substr("0" + text.charCodeAt(i,
  25.  
  26. 1).toString(16), -2);
  27.     }
  28.     return encoded;
  29. }

Bueno espero hacerme entender... el problema es que no puedo enviar "¿?", ni cadenas con acentos u otros símbolos, antes era al revés. (sin el encodeURL)

Última edición por salojc2006; 23/05/2010 a las 13:11 Razón: me olvide de poner texto..