note that in the case of your scenario B - a URL within a web page will be in the document character set, which might or might not be UTF-8. so it might also need translation in addition to nameprep and ACE.