2011-11-10 26 views
5

Tengo una página web con un área de texto para que el usuario ingrese datos. Al leer el valor de textarea en javascript para compararlo con el valor anterior, obtengo el valor con codificación de plataforma ('ä' =>% e4) mientras que mi valor de la base de datos está en codificación UTF-8 ('ä' => $% c3% a4). La codificación de la página web es UTF-8, utilizando el atributo de codificación xml más meta charset. El navegador también dice que está usando la codificación UTF-8, pero todavía textbox.value está en la codificación de la plataforma.Codificación de caracteres de textarea

¿Alguien tiene una idea de cómo puedo decirle al agente de usuario que devuelva textarea.value como UTF-8?

+0

Estas preguntas podrían usar alguna aclaración. ¿Qué idioma del lado del servidor estás usando para leer la base de datos? ¿Cómo está exactamente codificando la página web? ¿Estás usando "meta content ="? – mmcglynn

+1

Gracias por su comentario, pero como esto tiene casi un año, mientras tanto resolví el problema de una manera diferente. Para responder a la pregunta de todos modos: La página XHTML está codificada en UTF-8 utilizando el atributo de codificación xml más . Incluso cuando ingresé texto en el campo de texto manualmente, su valor siempre estaba codificado en la plataforma. –

+1

... Entonces deberías responder tu propia pregunta para que ya no esté marcada como "sin respuesta". – rhavin

Respuesta

0

¿Sería la siguiente solución para usted?

function encode_utf8(s) 
{ 
    return unescape(encodeURIComponent(s)); 
} 

donde se llama a encode_utf8 con el valor de su cuadro de texto? Esta es una sugerencia de otra respuesta SO que se encuentra here. No es exactamente el mismo problema, pero la solución podría ser aplicable.

Cuestiones relacionadas