ややハックですが、JSON APIを通常のasp.net(C#)ページに向けており、その呼び出しはクエリ文字列を送信しています。
C# コードのクエリ文字列を見ると問題ないように見えますが、その文字列を使用して Web ページを開こうとすると、壊れてしまいます。文字数を数えてみると 6~7文字多いとのこと。
次のように非ASCII文字を削除しようとしましたが、うまくいきませんでした。
string whaturl = "http://" + Request.QueryString["what"];
whaturl = Regex.Replace(whaturl, @"[^\u0000+-\u007F]", "");
whaturl = whaturl.Trim();
文字列を見ると、空白のように見える余分な文字が 1 つだけ表示されます。