The esc_url() function is included in the WP_Query Class. So if you do not use it by your own, it gets called in WP-Core. The behavoir is indeed that a single %
gets replaced by a hash like {47d84f1ee58a81956d53c64e8fafb5526c536eecab2be9c113fc33e7e9c86fba}
.
Try to replace %
with %d
. If it doesn´t help, then paste your hole code here.
[EDIT]
Okay this is a know problem with ACF repeater fields. There is a discussion about it (here) and also a new ticket. You can try the workaround (here).