Escribí un código simple que encuentra el nombre y el apellido en la URL y los devuelve como texto y lo he estado usando como títulos para páginas personales. Todo funciona perfectamente, excepto si el nombre está escrito en un alfabeto no latino (en mi caso, georgiano), devuelve números aparentemente aleatorios.
if(window.location.href.includes("authorname")) { var strhtp = window.location.href; var sbthtp = strhtp .substring(strhtp .indexOf('=') + 1).replaceAll("+", " "); document.getElementById("filye").innerHTML = sbthtp; } <span id="filye"></span> si la URL incluye authorname=John+Doe , devuelve normalmente, pero si el nombre está escrito en georgiano, por ejemplo, authorname=ვაჟა+ფშაველა , devuelve números aparentemente aleatorios:
%E1%83%90%E1%83%9A%E1%83%94%E1%83%A5%E1%83%A1%E1%83%90%E1%83%9C%E1%83%93%E1 %83%A0%E1%83%94 %E1%83%99%E1%83%9D%E1%83%91%E1%83%94%E1%83%A0%E1%83%98%E1%83 %AB%E1%83%94
El mejor resultado sería si el código pudiera devolver nombres no latinos normalmente. Pero si eso no es posible, me gustaría que me ayudara a (a) cambiar todos los caracteres no latinos a equivalentes latinos o (b) codificar para devolver nombres latinos como texto, pero rechazar nombres no latinos por completo y no devolver nada.
Gracias