@Scott_Sauyet to cut a long story short, if you are prepared to use the underscore instead, I would be happier, it is to do with encodeURI and encodeURIComponent standards. The plus +
is not inside published standards, even in the fragment, although it will work in many cases.
-
Ideally this would be an optin or optout because I can forsee cases where the existing permalink encoding method is needed.
- The following characters need not be encoded both with encodeURI and encodeURIComponent
A–Z a–z 0–9 - _ . ! ~ * ' ( )
note the_
underscore is among them,+
is not. - The following additional characters also valid when encoding with encodeURI
; / ? : @ & = + $ , #
the+
symbol and others are in this subset. So if we modify your proposed change to “not encode these additional characters” the permalinks will look even easier to read.- However I have read that not all systems may consider this a valid URI even if only used in the fragment. Thus I believe we need to allow people to opt out or in.
- The following characters need not be encoded both with encodeURI and encodeURIComponent
-
I have described this issue back in this thread but happy to give more details if you request so.
I have an alternative way to patch this to achieve the above rather than using a replace
with +
I can show you, we just need to add an opting/out process.