String not encoded properly

unpack( pack( { x : ‘^’  } )) will gives error because ^ is not escaped
Bug fixed: % not escaped

unpack( pack( { x : ‘%7C’ } ) ) will gives { x : ‘|’ } because % is not
escaped