This looks like a very good resource to make sure we're handling every encoding edge-case correctly: https://github.com/web-platform-tests/wpt/tree/77da471a234e03e65a22ee6df8ceff7aaba391f8/url