I was helping someone troubleshoot this problem today and had great difficulty finding a solution (modifying various elements in configuration files such as web.config, user.ini, wp-config.php, etc.), but it seems like the solution is to just add the following code at the beginning of the wp-config.php file:
if ( isset($_SERVER['UNENCODED_URL']) ) { $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];}
Hope this information helps someone out there and save them hours of frustration!