Acabo de tener un problemilla similar con Ajax, al usar el metodo open, mandaba el valor de mis variables con el metodo GET, las capturaba desde php y las guardaba en una bases de datos, lo malo era que no salían bien las letras acentuadas.
Lo que tuve que hacer fué primero utilizar la función escape() de javascript en las variables que estaba mandando y luego a la hora de obtener los resultados de la base de datos utilizaba la función htmlentities() de PHP para mostrar el resultado, ahora todo esta funcionando correctamente.
Suerte!