diff --git a/src/Jackett/Indexers/CardigannIndexer.cs b/src/Jackett/Indexers/CardigannIndexer.cs index 85c2b768b..0ee0e97f8 100644 --- a/src/Jackett/Indexers/CardigannIndexer.cs +++ b/src/Jackett/Indexers/CardigannIndexer.cs @@ -934,7 +934,7 @@ namespace Jackett.Indexers } } if (queryCollection.Count > 0) - searchUrl += "&" + queryCollection.GetQueryString(); + searchUrl += "&" + queryCollection.GetQueryString(Encoding); // in case no args are added remove ? again (needed for KAT) searchUrl = searchUrl.TrimEnd('?'); diff --git a/src/Jackett/Utils/StringUtil.cs b/src/Jackett/Utils/StringUtil.cs index 2e6765c3f..0287b5f6a 100644 --- a/src/Jackett/Utils/StringUtil.cs +++ b/src/Jackett/Utils/StringUtil.cs @@ -69,9 +69,11 @@ namespace Jackett.Utils return String.Join("\n", fields); } - public static string GetQueryString(this NameValueCollection collection) + public static string GetQueryString(this NameValueCollection collection, Encoding encoding = null) { - return string.Join("&", collection.AllKeys.Select(a => a + "=" + HttpUtility.UrlEncode(collection[a]))); + if (encoding == null) + encoding = Encoding.UTF8; + return string.Join("&", collection.AllKeys.Select(a => a + "=" + HttpUtility.UrlEncode(collection[a], encoding))); } public static string GenerateRandom(int length)