I was able to solve my problem and I'll post my resolution here for posterity in case someone else runs into the problem.
I originally thought the issue stemmed from the fact that MSSQL has trouble with UTF-8... and by trouble I mean it can't handle it at all.
In the end, I replaced the %'s in my query with %25's via
string.replace(/%/, "%25")
And this seems to be working, I will update when I have done more testing.