Have you tried URL.encodeComponent() on your JSON before sendRequest
("json=" + json, ...) ?
I believe GWT is right on both JSON serialization and
URL.encodeComponent() (this one is deferred to the browser);
RequestBuilder is OK too (and let's hope your browser's XMLHttpRequest
too).
So I'd say that either your code is buggy, or PHP, or Django (PHP
being buggy in many ways isn't a scoop). You should first have a look
at the request's content that goes on the wire (use Firebug or a
similar tool, or Fiddler or similar network "debugger"), and if it
looks OK, then the problem is on the server side.