GET中的多个空格会导致err_Connection_Reset

I'm using JavaScript to send a GET to a php file.

function getLessons(lesson){
    if(xmlHttpGetLessons.readyState==4 || xmlHttpGetLessons.readyState == 0){
        var lesson_title = encodeURIComponent(lesson);
        xmlHttpGetLessons.open("GET", 'InstListLessons.php?lesson=' + lesson_title,true);
        xmlHttpGetLessons.send(null);
        xmlHttpGetLessons.onreadystatechange = LessonGetServerResponse;
    } 
}   

The PHP file receives the GET and processes the data:

if (isset($_GET['lesson'])){
    $lesson_tmp = urldecode($_GET['lesson']);
    $lesson_descrip = Filter_var($lesson_tmp, FILTER_SANITIZE_STRING);
} else {
    $flag = false;
}

under most circumstances this works fine and the PHP returns the data in XML format with no issues. When the value of 'lesson' has one space it works fine. The GET is sent as

"InstListLessons.php?lesson=Sutures%20Stiching" 

When there are two spaces the GET still seems to send correctly

"InstListLessons.php?lesson=Sutures%20and%20Stiching"

However the page fails to load with

GET http://192.168.1.18/InstListLessons.php?lesson=Sutures%20and%20Stiching net::ERR_CONNECTION_RESET

If I just remove the second "%20Stiching" it works, so I don't believe that there is an actual connection issue. How can I send the string with two spaces? would POST work better?