Bueno, lo de poner el servidor en UTF8 no es posible y además corro el riesgo de perder información de muuuuuuuchos alumnos de los ultimos 5 años. Ya lo investigué en su día para otras cosas.
Cambiar a la pagina de codigos 1252 no cambia el hecho de que la información llega en UTF8 si o si, tendria que seguir traduciendo los caracteres, al menos al estar el script con la misma codificacion se entienden.
La solucion del replace es matar moscas a cañonazos, eso lo dejo para los simplistas.
De momento funciona lo que comenté inicialmente, aunque sea un parche es bastante menos código y más eficiente. En vez de usar el
método replace nativo de js, he pillado
de por ahi una función:
Código PHP:
function replace(texto, s1, s2) { return texto.split(s1).join(s2); }
Y en la función inicial:
Código PHP:
for (i=0; i<frm.elements.length; i++)
{
qString += "&"+ frm.elements[i].name + "=" + replace(frm.elements[i].value, ' ', ';:');
}
Luego en ASP, como ya tengo una funcion para limpiar las cadenas y prevenir SQLInjection, simplemente he agregado
Código PHP:
cadena = Replace(cadena, ";:", " ")