Pregunta

Estoy trabajando en una aplicación web, donde puedo transferir datos desde el servidor al navegador en XML.

Ya estoy danés, puedo ejecutar rápidamente en problemas con los caracteres æøå.

Sé que en el html, yo uso el "æøå" para æøå.

sin embargo, tan pronto como los caracteres de pasar a través de JavaScript, tengo cajas negras con "?" en ellos, cuando el uso de æøå, y "æøå" se imprime como es.

Me he asegurado de establecer a utf-8, pero que no está ayudando mucho.

Idealmente, la quiero para trabajar con caracteres especiales (de forma natural).

El ejemplo que no funciona es que se incluye a continuación:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">
            alert("&aelig;&oslash;&aring;");
            alert("æøå");

        </script>
    </head>
    <body>
    </body>
</html>

¿Qué estoy haciendo mal?


Ok, gracias a Grapefrukts respuesta, yo tengo trabajo.

Yo realmente necesitaba para los datos procedentes de un servidor MySQL.Desde el ahorro de los archivos en UTF-8 codificación sólo resuelve el problema para el contenido estático, se me figura que me gustaría incluir la solución para las cadenas de un servidor MySQL, sacó el uso de PHP:

utf8_encode($MyStringHere)

¿Fue útil?

Solución

Sólo se especifica UTF-8 en el encabezado no es suficiente.Yo apostaría usted no ha guardado el archivo como UTF-8.Cualquier razonablemente avanzado editor de texto tendrán esta opción.Intente eso y estoy seguro de que va a funcionar!

Otros consejos

Si alguna vez no se puede establecer la respuesta de la codificación, puede utilizar \u la secuencia de escape en el JavaScript literal de cadena para mostrar a estos personajes.

alert("\u00e6\u00f8\u00e5")

También puede utilizar String.fromCharCode() a la salida de un personaje de una entidad numérica.

por ejemplo, String.fromCharCode( 8226 ) creará un carácter de viñeta.

Me sale "æøå" para el primero y algunos no deseado de caracteres para el siguiente.Podría ser que el javascript no es renombrar (o mojibake) sus cartas, pero la alerta de diálogo se utiliza el sistema por defecto de la fuente, y la fuente es incapaz de mostrar las cartas?

Yo uso el código como este con el idioma Tailandés.Está bien.

$message es mi variable de PHP.

echo("<html><head><meta charset='utf-8'></head><body><script type='text/javascript'>alert('" . $message . "');</script></body></html>");

Espero que esto pueda ayudar.Gracias.

(No puedo publicar la imagen de lo que me hizo lo que el sistema dice "no tengo suficiente reputación", así que os dejo la imagen, aquí. http://goo.gl/9P3DtI Lo siento por las molestias.)

Lo siento por mi débil inglés.

Esto funciona como se esperaba por mí:

alert("&aelig;&oslash;&aring;");

...crea una alerta que contengan la cadena "æøå", mientras que

alert("æøå");

...crea una alerta con los caracteres que no son ascii.

Javascript es bastante utf-8 limpio y no tienden a poner obstáculos en su camino.

Tal vez usted está poniendo esto en un servidor web que sirve como ISO-8859-1?Si utiliza Apache, en su archivo de configuración de Apache (o en .httaccess, si se puede reemplazar), debe tener una línea

AddCharset utf-8 .js

(Nota:editado para escapar de los signos...de lo contrario, no tenía sentido.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top