Avatar billede Slettet bruger
06. august 2008 - 13:00 Der er 17 kommentarer og
1 løsning

Unicode fejl med AJAX

Hej Eksperter!

Jeg har et lille problem.

Jeg er igang med at udvikle et debatforum, hvor jeg henter beskederne via AJAX (ProtoType JS Framework)

Men når jeg henter over AJAX, får jeg mærkelige tegn hvor der burde være fx. æ, ø og å.
encodeURIComponent(); er desværre ikke en mulighed da jeg ikke har ren tekst - jeg kunne selvfølgelig lave en replace på alle tags, men der må da være en bedre løsning?

/caspar
Avatar billede Slettet bruger
06. august 2008 - 13:03 #1
- Jeg har UTF8 charset everywhere.
- Tegnene står i databasen som æ, ø og å.
- Det sker også hvis der kommer plain tekst, altså ikke fra databasen.
Avatar billede w13 Novice
06. august 2008 - 13:03 #2
Bruger du UTF-8 eller ISO-8859-1 på din side?
Avatar billede w13 Novice
06. august 2008 - 13:03 #3
Ok. :)
Avatar billede w13 Novice
06. august 2008 - 13:03 #4
Er din database også sat op til UTF-8?
Avatar billede Slettet bruger
06. august 2008 - 13:19 #5
Ja, databasen er utf8 og InnoDB
Avatar billede w13 Novice
06. august 2008 - 13:25 #6
Og du er sikker på, dine sider er encodet rigtigt som UTF-8? Dvs. du har ikke bare skrevet det i et meta-tag?
Avatar billede Slettet bruger
06. august 2008 - 13:35 #7
Hmm,
- Har kun skrevet det i meta, hvor skal men ellers?

Jeg tog den gennem en w3 validator hvor der stod at encoding var is0-8859-1 - med et nul endda.. Dejligt slamkode man har fået i hånden!

Så skal jeg bare finde hvor dælen det er defineret.
Avatar billede w13 Novice
06. august 2008 - 13:44 #8
I et tekstdokument gemmes også en encoding, som skal svare til tegnsættet. F.eks. kan der stå ANSI (som svarer til ISO-8859-1) eller UNICODE (UTF-8), men nogle gange står der bare ISO eller UTF.

Hvad redigerer du dine dokumenter i?

F.eks. hvis du bare bruger notesblok, så kan du styre encoding fra Gem Som-dialogboksen.
Avatar billede Slettet bruger
06. august 2008 - 13:49 #9
Jeg bruger Dreamweaver - men retter i noget outsourcet kode.
Avatar billede w13 Novice
06. august 2008 - 13:50 #10
Ok. Jeg bruger ikke selv DW, så jeg ved ikke lige, hvor du slår det til, men der burde være noget, der hedder Encoding/Charset.
Avatar billede Slettet bruger
06. august 2008 - 13:54 #11
Hmm, der er nogle væsentlige filer skrevet i ANSI. Kræver det at jeg ændrer alle filer til UTF-8?

Og, selvom der står ANSI, så ville den jo ikke sætte charset til is0-8859-1 med et '0' istedet for 'o' - det må jo være en menneskelig fejl somewhere...
Avatar billede Slettet bruger
06. august 2008 - 13:55 #12
Mit meta-tag er:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Avatar billede w13 Novice
06. august 2008 - 13:56 #13
Jup, ANSI svarer til ISO-8859-1.

Men tror du ikke bare, at nullet er en fejl hos W3C's validator? Hvis du ændrer ANSI til Unicode/UTF-8, kan du jo se, om fejlen forsvinder.
Avatar billede Slettet bruger
06. august 2008 - 14:13 #14
Jeg har ændret til UTF-8 de væsentligste steder - stadig samme fejl. Kan det være en fejl på serveren?
Avatar billede w13 Novice
06. august 2008 - 14:13 #15
Burde det ikke være. Siger W3C stadig, at du bruger is0-8859-1?
Avatar billede Slettet bruger
06. august 2008 - 14:14 #16
Jeg prøvede det lige på en anden server, ingen fejl der :-)
Avatar billede w13 Novice
06. august 2008 - 14:15 #17
:P Så er det jo afgjort.
Avatar billede Slettet bruger
06. august 2008 - 14:31 #18
Ja, og endnu mere understreget af samme valideringsfejl kommer ved samtlige sider på den server ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester