credo sia sufficiente una cosa del genere, per adeguare la json_encode del PHP a quella del JS:
Codice PHP:
$json preg_replace('/([\\x{0001}-\\x{001f}])/ue'"'\\u'.sprintf('%04x', ord('$1'))"json_encode($data)); 
Ditemi se ci vedete errori.

Edit: la json_decode() non sembra funzionare con quel tipo di stringa, ottimo