2011-11-10 15 views
5

Ho una pagina Web con un'area di testo che consente all'utente di inserire i dati. Durante la lettura del valore della textarea in javascript per confrontarlo con il valore precedente ottengo il valore con la codifica della piattaforma ('ä' =>% e4) mentre il mio valore dal database è nella codifica UTF-8 ('ä' => $% c3% a4). La codifica della pagina web è UTF-8, utilizzando l'attributo di codifica xml più meta set. Il browser dice anche che sta usando la codifica UTF-8, ma textbox.value è ancora nella codifica della piattaforma.Codifica caratteri dell'area testo

Qualcuno ha un'idea di come posso dire allo user agent di restituire textarea.value come UTF-8?

+0

Questa domanda potrebbe richiedere alcuni chiarimenti. Quale lingua lato server stai usando per leggere il database? In che modo stai codificando la pagina web? Stai usando "meta content ="? – mmcglynn

+1

Grazie per il tuo commento, ma siccome questo ha quasi un anno, ho intanto risolto il problema in un modo diverso. Per rispondere comunque alla domanda: La pagina XHTML è codificata in UTF-8 utilizzando l'attributo di codifica xml più . Anche quando ho inserito manualmente il testo nel campo di testo, il suo valore era sempre codificato per piattaforma. –

+1

... Quindi dovresti rispondere alla tua domanda in modo che non sia più contrassegnata come "senza risposta". – rhavin

risposta

0

Il seguente sarebbe una soluzione per voi?

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

cui si chiama encode_utf8 con il valore della vostra casella di testo? Questo è un suggerimento di un'altra risposta SO trovata here. Non è esattamente lo stesso problema, ma la soluzione potrebbe essere applicabile.