Data comes as double url-encoded during update

I’m using dataProcessor with PHP connector in 4.2 suite.
When data is loaded it comes as CDATA wrapped without url encoding like this:

But when I update columns the request goes like this:
1_gr_id=1&1_c0=%D0%A2%D0%B8%D0%B1%D0%B5%D1%80%D0%B8%D0%B9&1_c1=1111111&1_c2=user5&1_c3=user%3Auser&1_c4=url&1_c5=2&1_c6=1&1_c7=cityId%3D458416%26amp%3Bposition%3D6&1_c8=1&1_!nativeeditor_status=updated&ids=1

which updates 7th column as “cityId=458416&position=6”
And I don’t want this to happen

My dataProcessor is set up like this:

myDP.setTransactionMode("POST",true); // set mode as send-all-by-post
myDP.setUpdateMode("off"); // disable auto-update

GridConnector is set like this:

$gridConn = new GridConnector($sql,“MySQL”);
$gridConn->render_sql(“SELECT * FROM dov WHERE server=‘$server’ ORDER BY status ASC,general DESC”,“id”,“login,pass,address,address_login,type,status,general,embassy,ondov”);// data configuration

Is there any way I can fix this?

Also, when I try to edit data in a grid it also shows it as url-encoded but it view mode it is not.
So, it seems like data is url-encoded fist time during load and then second time when it is sent to the server

And another observation: double encoding happens with “&”, “>”, “<” characters. All the rest special character like “@”,"%","?", etc are not encoded when I enter them into the grid

Try to use “pure text” column type for the problematic data in the grid

rotxt, edtxt, txttxt - those column types will preserve special chars without double-escaping.