2010-01-26 18 views
5

El sitio de donde yo estoy llamando a la función window.open() es en UTF-8, usando la etiqueta <meta>, todo funciona bien, pero una vez que llamo la función y abrir otra ventana con el misma etiqueta, la nueva ventana muestra caracteres extraños, incluso en la información de la página muestra que la codificación permanece igual (UTF-8).codificación de caracteres cambios después de window.open()

Este es el mismo problema que el mío: http://bytes.com/topic/javascript/answers/622922-character-encoding-after-window-open

Respuesta

0

Si el navegador utiliza la misma codificación para las dos páginas (que, al parecer, lo hace), entonces el problema debe estar en la propia página. Probablemente contiene UTF-8 no válido para empezar.

+0

No, está escrito en el mismo editor (eso funciona bien). Y también, si no lo abro en una nueva ventana, funciona bien. – LuRsT

+0

Extraño ... ¿Puedes reproducirlo en otro navegador? – Thomas

+0

Sí, es lo mismo en FF 3.5 y en ie8. También agregué un enlace a mi pregunta sobre alguien con el mismo problema. – LuRsT

2

Tuve exactamente el mismo problema.

El problema resultó ser que estaba configurando "Session.CodePage = 65001" en la ventana abierta. Eso estropeó la codificación de caracteres para esa sesión. Así que cuando actualicé la página "principal", algunos caracteres (como åäö) se volvieron ininteligibles.

Solución: asegúrese de que la página de la nueva ventana no cambie la página de códigos de la sesión. ¡Buena suerte!

2

Tuve el mismo problema. Simplemente use unescape(decodeURIComponent(YOUR_URL)) dentro de window.open().

Por ejemplo: window.open(unescape(decodeURIComponent(YOUR_URL)), '_blank');

espero que ayude.

1

Agregue un atributo charset = "UTF-8" a sus etiquetas de JavaScript. Esto al menos funcionará si la causa de los caracteres ilegibles es tu javascript incluido.

Cuestiones relacionadas