Вместо использования escape
на стороне клиента используйте encodeURIComponent
.escape
делает не делает URI-кодировку.(Он делает что-то похожее, но достаточно отличающееся, чтобы у вас возникли проблемы.) encodeURIComponent
выполняет стандартное URI-кодирование.PHP должен декодировать его для вас автоматически, если вы отправляете данные обычным способом, например:
var word = "balaji's";
$.ajax({
url: "yoururl",
data: encodeURIComponent("word") + "=" + encodeURIComponent(word)
});
Если вы не отправляете данные в стандартной форме «multipart form» (например, выпереопределяете dataType
), вам придется самостоятельно декодировать его с помощью urldecode
.