Cómo desescapar correctamente los caracteres no ASCII en location.pathname.
Tengo la siguiente URL en la barra de direcciones del navegador:
example.com/search/city/Germany:Baden-Württemberg
Desde la consola, intento obtener el camino de la URL:
location.pathname, que devuelve:
/search/city/Germany:Baden-W%C3%BCrttemberg
Veo que el carácter ü ha sido transformado (escapado) en la secuencia %C3%BC. Quiero mostrar este carácter tal como está en el documento HTML, por lo que intenté desescaparlo:
unescape(location.pathname) pero desafortunadamente lo que obtengo no es la cadena de la URL > ‘/search/city/Germany:Baden-Württemberg’
¿Cómo puedo obtener el carácter de la URL ü (de mi URL example.com/search/city/Germany:Baden-Württemberg) a través de JavaScript?
Gracias!
davy.ai
Para mostrar el carácter ü desde la URL
example.com/search/city/Germany:Baden-Württemberg
en un documento HTML utilizando Javascript, puede utilizar la funcióndecodeURI()
.Entonces, en lugar de utilizar
unescape(location.pathname)
, que no funciona en este caso, puede utilizar:decodeURI('example.com/search/city/Germany:Baden-W%C3%BCrttemberg')
Esto devolverá la cadena:
"example.com/search/city/Germany:Baden-Württemberg"
que incluye el carácter ü, tal como se espera.