title: Invalid non-ASCII or control character in header on redirect
body: <p>I'm using asp.net core 2.1 and I have a problem on redirect.
  My URL is like:</p>
  
  <p><code>HTTP://localhost:60695/ShowProduct/2/شال-آبی</code></p>
  
  <p>the last parameter is in Persian.
  and it throws below error:</p>
  
  <pre><code>InvalidOperationException: Invalid non-ASCII or control character in header: 0x0634
  </code></pre>
  
  <p>but when I change the last parameter in English like:</p>
  
  <pre><code>HTTP://localhost:60695/ShowProduct/2/scarf-blue
  </code></pre>
  
  <p>it works and everything is OK.
  I'm using below codes for redirecting:    </p>
  
  <pre><code>[HttpPost]
  [Route("Login")]
  public IActionResult Login(LoginViewModel login, string returnUrl)
  {
      if (!ModelState.IsValid)
      {
          ViewBag.ReturnUrl = returnUrl;
          return View(login);
      }        
      //SignIn Codes is hidden
      if (Url.IsLocalUrl(returnUrl) &amp;&amp; !string.IsNullOrEmpty(returnUrl))
      {                
          return Redirect(returnUrl);
      }
      if (permissionService.CheckUserIsInRole(user.UserId, "Admin"))
      {
          return Redirect("/Admin/Dashboard");
      }
      ViewBag.IsSuccess = true;
      return View();
  }
  </code></pre>
  
  <p>how can I fix the problem?</p>