org.hippoecm.repository.api.StringCodecFactory.UriEncoding#encode expects a utf-8 String. Internally Java Strings are not UTF-8 however.
Consider the string
The quotes here are left and right single quotes. The left single quote will be 0x2018 in hex. But in UTF-8 it is 0xE2 0x80 0x98. The method makes no attempt to translate a character to or form utf-8 and is therefore not able to handle this character properly.
This will most likely be an issue for all multi-byte utf-8 encoded characters, but I haven't tested that exhaustively.