JSON is always in UTF-8, and JSONtext will try and convert to your computer's character set automatically, so I don't think you need any of that stuff that has "UTF8". Try simply using the single function to convert to a 2D array of strings.
However, by sure you are actually passing true JSON, with UTF8 encoding, not whatever your computer is using.