mostrar español charset acentos unicode internationalization friendly-url diacritics

unicode - acentos - meta charset= utf-8 español



¿Debo usar caracteres acentuados en las URL? (5)

Cuando uno crea contenido web en idiomas diferentes al inglés, surge el problema de las URL optimizadas para el motor de búsqueda y fáciles de usar.

Me pregunto si es una buena práctica usar letras desacentuadas en las URL, arriesgándote a que algunas palabras tengan significados completamente diferentes con y sin ciertos acentos, o es mejor limitar el uso de caracteres no ingleses donde sacrificando adecuadamente la legibilidad de esas URL en entornos menos avanzados (por ejemplo, MSIE, ver fuente).

Las cartas "exóticas" pueden aparecer en cualquier lugar: en títulos de documentos, en etiquetas, en nombres de usuario, etc., por lo que no siempre están bajo la supervisión completa del responsable del sitio web.

Un posible enfoque sería, por supuesto, la creación de URL alternativas, sin acentos, que apuntarían al destino original, pero me gustaría conocer sus opiniones sobre el uso de URL acentuadas como identificadores de documentos principales .


Cuando me enfrenté a un problema similar, aproveché la reescritura de URL para permitir el acceso de dichas páginas al carácter acentuado o no acentuado. La URL real sería algo así como

http://www.mysite.com/myresume.html

Y una función de traducción de reescritura + caracteres permite esta referencia

http://www.mysite.com/myresumé.html

para cargar el mismo recurso Entonces, para responder a su pregunta, como el identificador de recursos primario , me limito a 0-9, AZ, az y el guión ocasional.


Debe evitar los caracteres que no sean ASCII en las URL que los usuarios puedan ingresar manualmente en el navegador. Está bien para enlaces incrustados precodificados por el servidor.

Descubrimos que el navegador puede codificar la URL de diferentes maneras y es muy difícil averiguar qué codificación utiliza. Ver mi pregunta sobre este tema,

Manejo de la codificación de caracteres en URI en Tomcat


Hay varias áreas en una URL completa, y cada una puede tener reglas diferentes. El protocolo es simple ASCII. La entrada DNS se rige por las reglas IDN (nombres de dominio internacionales) y puede contener (la mayoría) de los caracteres Unicode. La ruta (después de la primera /), el nombre de usuario y la contraseña pueden volver a ser todo. Se escapan (como% XX), pero son solo bytes. Cuál es la codificación de estos bytes es difícil de conocer (es interpretado por el servidor http). La parte de parámetros (¿después de la primera?) Se pasa "tal cual" (después de% XX sin escape) a alguna aplicación del lado del servidor (php, asp, jsp, cgi) y cómo interpreta los bytes es otra historia). Se recomienda que la ruta / usuario / contraseña / argumentos sean utf-8, pero no obligatorios, y no todos respetan eso.

Así que definitivamente deberías permitir no ASCII (ya no estamos en los 80), pero exactamente lo que haces con eso podría ser complicado. Intenta usar Unicode y aléjate de las páginas de códigos heredadas, etiqueta tu contenido con la codificación / juego de caracteres adecuado si puedes (usando meta en html, directivas de lenguaje para asp / jsp, etc.)


No hay ambigüedad aquí: RFC3986 dice que no , es decir, los URI no pueden contener caracteres Unicode, solo ASCII.

Una cuestión completamente diferente es cómo los navegadores representan caracteres codificados cuando se muestra un URI, por ejemplo, algunos navegadores mostrarán un espacio en una URL en lugar de ''% 20''. Así es como IDN también funciona: las cadenas punteadas son codificadas y decodificadas por los navegadores sobre la marcha, por lo que si visita café.com, realmente está visitando xn--caf-dma.com. Lo que parecen ser caracteres unicode en las URL es en realidad solo ''azúcar visual'' por parte del navegador: si usas un navegador que no admite IDN o Unicode, la versión codificada no funcionará porque la definición subyacente de URL simplemente no lo admite, por lo tanto, para que funcione de manera coherente, debe codificar%.


Teniendo en cuenta que las URL con acentos a menudo tienden a tener este aspecto:

http://fr.wikipedia.org/wiki/%C3%89l%C3%A9phant

... que no es tan agradable ... Creo que todavía utilizaremos URL sin acentos por algún tiempo.

Sin embargo, las cosas deberían mejorar, ya que las URL con acentos ahora son aceptadas por los navegadores web, parece.

El Firefox 3.5 que estoy usando muestra la URL de la manera más agradable, y no con% stuff, btw; esto parece ser "nuevo" desde Firefox 3.0 (ver Firefox 3: soporte UTF-8 en la barra de ubicación ); así que, probablemente no sea compatible con IE 6, al menos, y todavía hay demasiadas personas que usan este :-(


Tal vez la URL sin acento no se vea lo mejor posible; pero, aún así, la gente está acostumbrada a ellos, y parece que en general los entienden bastante bien.