2011-11-10 21 views
5

Mam stronę internetową z polem tekstowym do wprowadzania danych przez użytkownika. Odczytując wartość textarea w javascriptu, aby porównać ją z wcześniejszą wartością, otrzymuję wartość z kodowaniem platformy ("ä" =>% e4), podczas gdy moja wartość z bazy danych jest kodowana w UTF-8 ("ä" => % c3% a4). Kodowanie strony internetowej to kodowanie UTF-8, przy użyciu atrybutu kodowania XML oraz meta charset. Przeglądarka mówi również, że używa kodowania UTF-8, ale wciąż textbox.value jest w kodowaniu platformy.Kodowanie znaków w textarea

Czy ktoś ma pomysł, w jaki sposób mogę nakazać użytkownikowi użytkownika, aby zwrócił textarea.value jako UTF-8?

+0

To pytanie może wymagać pewnych wyjaśnień. Jakiego języka po stronie serwera używasz do czytania bazy danych? Jak dokładnie kodujesz stronę internetową? Czy używasz "meta content ="? – mmcglynn

+1

Dziękuję za komentarz, ale ponieważ ma on prawie rok, rozwiązałem ten problem w inny sposób. Aby mimo wszystko odpowiedzieć na pytanie: Strona XHTML jest kodowana w UTF-8 za pomocą atrybutu kodowania XML plus . Nawet gdy ręcznie wpisałem tekst do pola tekstowego, jego wartość zawsze była zakodowana na platformie. –

+1

... Następnie należy odpowiedzieć na własne pytanie, aby nie było już oznaczone jako "bez odpowiedzi". – rhavin

Odpowiedz

0

Czy poniższe rozwiązanie byłoby dla Ciebie rozwiązaniem?

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

gdzie dzwonisz pod numer encode_utf8 z wartością twojego pola tekstowego? To jest sugestia z innej odpowiedzi SO znalezionej here. Nie do końca ten sam problem, ale rozwiązanie może mieć zastosowanie.

Powiązane problemy