This is a comment on Customizing page addresses, posted by WikiAdmin at 17.11.2020 11:58

View source for Re: Customizing page addresses

**A. URL in the address bar of the browser**
There is a solution, but each browser may use different default settings regarding the IRI format.

In Firefox you can set the ##browser.urlbar.decodeURLsOnCopy## to ##true## via ##about:config##, so if you copy the URL it is not  
https://ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%B1%D0%B8-%D1%81%D0%B0%D0%B1%D0%B8
but
https://ru.wikipedia.org/wiki/Ваби-саби
When you copy an URL in the address bar of Firefox and leaving the first letter out, it also copies the string as is, e.g. ##ttp:/example.com/Начало##
Opera and Vivaldi for example use the IRI format by default.

Chrome Extension
  ((https://chrome.google.com/webstore/detail/copy-unicode-urls/fnbbfiapefhkicjhecnoepbijhanpkjp?hl=en-US Copy Unicode URLs)) - Copy Unicode URLs to clipboard without nasty percent-encodings or Punycode!

**B. HTML links**
However the ##mini_href()## function in WackoWiki percent-encodes all URIs to ensure backwards-compatibility with systems that do not support the IRI format.
%%
// percent-encode the non-ASCII bytes (rfc3986)
if ($encode)
{
	$tag = str_replace(['%2F', '%3F', '%3D'], ['/', '?', '='], rawurlencode($tag));
}
%%
((https://www.php.net/manual/en/function.rawurlencode.php rawurlencode))
So you can try to turn the default of the ##$encode## parameter in the ##href()## function from ##true## to ##false##. It needs more feedback and evaluation, may be we can add a config option to disable the percent-encoding partially. Some functions require the rfc3986 compliant format mandatory. HTTP does not allow IRI, only URI. IRIs are a URI generalization that allows Unicode characters.

#|
*| Format | Example |*
|| URI | ##~https://ru.wikipedia.org/wiki/%D0%92%D0%B0%D0%B1%D0%B8-%D1%81%D0%B0%D0%B1%D0%B8## ||
|| IRI | ##~https://ru.wikipedia.org/wiki/Ваби-саби## ||
|#
((https://tools.ietf.org/html/rfc3986 RFC 3986))
((https://tools.ietf.org/html/rfc3987  RFC 3987))
((https://en.wikipedia.org/wiki/Uniform_Resource_Identifier Uniform Resource Identifier))
((https://en.wikipedia.org/wiki/Internationalized_Resource_Identifier Internationalized Resource Identifier))

**C. Alternate links**
Via the URI router alternate links can be created like the permalink. These links can be created for any possible purpose.
((/Dev/NewFeatures/SeoFriendlyUrl Request handling))
((/Dev/Projects/UriRouter URI Router))