Scusa, volevo dire il contrario... beh, hai capito.
In generale comunque ti sconsiglio di escapare quello che poi decodi e viceversa non encodare quello che prevedi di unescapare.
Cioè: se encodi in Java, decoda in Java... se escapi in JS, unescapa in JS.
Non mescolare i due sistemi, perché è da lì che deriva il problema del +.