My previous post forced me to delve into the differences between the escape, encodeURI, and encodeURIComponent functions. Here's a table that highlights the differences between each (generated, of course, via JavaScript):

ASCII charescape()encodeURI()encodeURIComponent()
(Note that the '*' character is not encoded by any of these functions.)