Date:  29 Dec 2014 19:57:03 Hong Kong Time

[PEAR-BUG] Bug #20425 [Opn]: Incomplete percent-encoding of userinfo, path and query

NNTP-Posting-Host:  null

Edit report at

 ID:               20425
 Updated by:
 Reported By:      jan dot prachar at gmail dot com
 Summary:          Incomplete percent-encoding of userinfo, path and
 Status:           Open
 Type:             Bug
 Package:          Net_URL2
 Package Version:  2.0.9
 PHP Version:      Irrelevant
 Roadmap Versions: 
 New Comment:

Hi Jan, 

I now could find more about the issue and how RFC3986 covers this. I've
it for the query part.

It is possible to not percent-encode certain characters even thought
they are 
reserved. This basically work for any character that has not other
definition as 
separator for that part.

However, an URI class should not just change these because those URIs
are not 
equivalent / identical. So encoding or not encoding such a character can
make a 

I've also checked this quickly with chromium and the URI is not changed
on these 

This is an additional implication I think Net_URL2 should handle as

I've also identified a flaw in URI normalization while looking into
this, I don't think 
grave but technically it's a flaw as many parts do allow more characters
already per the ABNF, but normalization does an urlencode(urldecode())
not take the concrete rules into account. I think about fixing this

Previous Comments:

[2014-11-27 10:52:08] tkli

Hi Jan,

some help would be great. A compilation which browser auto-converts
which characters in a 
structured manner would be great (for which part) so it is easier to
review (and implement) an 
accepted / safe way to deal with "readable" URLs as input.

Additionally any kind of feedback is always welcome!


[2014-11-24 10:18:32] pracj3am

Do you need any help?


[2014-10-10 00:23:36] tkli

at least the documentation problem will be resolved in the next 2.0.10
release (just around the 


[2014-10-09 14:24:28] tkli

colons in path perhaps shouldn't be translated for interoperability


[2014-10-09 14:14:32] tkli

That's good info.

I think we should do a matrix specifying which part (userinfo, host,
path, query, fragment) should 
deal with which characters.

E.g. the Firefox issue you refer to is about the query if I grasped it

We then can put it to a test and have it properly specified. This should
make clear what the intend 
is and how it was solved.


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

Edit this bug report at