I've have had a similar problem.
My solution was to implement my own splitter in Ruby.
Here's my topic:
How to handle '=' in values, splitting on | but KV takes over all '=' not only the first
But as I see, you have a problem with pair split parameter';', mine was with key/value split parameter '='.
Hope you're can use mine as a waypoint.