Avatar billede babz Nybegynder
21. januar 2005 - 20:31 Der er 15 kommentarer og
1 løsning

Charset-problem.

Hej jeg er løbet ind i et besynderligt problem.
Jeg har charsetproblem i IE, men ikke i Firefox.

Siden http://staff.hum.ku.dk/mikaelj/test/kalender.asp siger genererer UTF-16 HMTL fra min XML.
Men jeg vil gerne skifte den til ISO-8859-15.

Jeg stødte på metoden Response.Charset(strEnc) men det virker ikke.

Hvordan konverterer jeg min XML til et andet charset???


/Babz
Avatar billede babz Nybegynder
21. januar 2005 - 20:33 #1
Jeg skal lige sige at jeg bruger Response.Write(objXML.transformNode(objXSL)) til at generere siden med.

/Babz
Avatar billede softspot Forsker
21. januar 2005 - 20:53 #2
kan/vil du smide lidt XSL?
Avatar billede babz Nybegynder
22. januar 2005 - 13:06 #3
Tja....xslfilen hedder kalender.xsl og ligger samme sted:
http://staff.hum.ku.dk/mikaelj/test/kalender.xsl

Det samme gælder XMLfilen.
/B
Avatar billede softspot Forsker
22. januar 2005 - 16:38 #4
Prøv at smide encoding="utf-8" ind i proces-instruktionen i toppen af din XSL-fil

<?xml version="1.0" encoding="utf-8" ?>

og vær sikker på at den bliver gemt i UTF-8 format. Det er ret vigtigt at formatet og det der står i proces-instruktionen stemmer overens, da det er parserens nøgle til at omsætte indholdet...

Tilføj evt.

<xsl:output method="html" encoding="ISO-8859-15" />

i din XSL-fil (lige efter <xsl:stylesheet...> og før <xsl:template...>).
Avatar billede softspot Forsker
22. januar 2005 - 16:40 #5
Det kan være du endda kan fjerne det META-tag med encoding du selv sætter ind, hvis det jeg har foreslået fungerer... :)
Avatar billede babz Nybegynder
22. januar 2005 - 20:34 #6
Hm....nothing!!!
Det swinger ikke!
Check selv....

/Babz
Avatar billede babz Nybegynder
22. januar 2005 - 20:35 #7
Har jeg et problem med et http response der bliver ødelagt af noget ASP eller hvad?
Jeg forstår ikke hvorfor mine encoding linier bliver ignoreret.

/Babz
Avatar billede softspot Forsker
22. januar 2005 - 22:23 #8
hmmm... hvis jeg sætter min browser til view|encoding|autoselect så får jeg godt nok æøå vist korrekt. Er det "kun" det der er problemet, eller er der andre ting som giver problemer pga. encoding?
Avatar billede babz Nybegynder
23. januar 2005 - 15:01 #9
Tja...det virker jo godt nok...indtil jeg opdaterer siden......Det er muligt det er et IE-problem.
Jeg tænkte bare, at når nu serverne selv tilføjede encoding....uden at jeg gjorde det, så kunne det give problemer.
Og min hang til at styre tingene selv sagde mig at det skulle kunne ordnes.

Dog ville det være dejligt hvis der fandtes en løsning der var mere permanent´, og ikke kræver at folk skal ind i vis-menuen hver gang  de skal bruge siden.

/Babz
Avatar billede softspot Forsker
23. januar 2005 - 15:24 #10
Hvad er ISO-8859-15 for en encoding?

Jeg troede man skulle bruge ISO-8859-1 for at få fat i de danske tegn...
Avatar billede babz Nybegynder
23. januar 2005 - 16:47 #11
15 tilføjer Eurotegnet.
Anyway...det er indtil videre kun ÆØÅ der driller.
Og jeg vil gerne sikre mig at den løsning jeg finder bliver så permanent, at folk der skal bruge det UI jeg laver også får det at se, sadan som det var tænkt.

Det duer ikke hvis jeg skal henvise mine brugere til at klikke i forskellige menuer for at få tingene til at se rigtigt ud.

Jeg stødte efter lidt googling på metoden Response.Charset().Men den får jeg af en eller anden frund ikke lov til at bruge....så jeg aner ikke hvad jeg skal gøre for at få sat det rette tegnsæt.

Iøvrigt stod min Browser på automatisk tegnsæts-detection...men det hjalp den altså ikke...det hjælper mig hvis jeg skifter den til vesteuropæisk(Windows) eller vesteuropæisk(iso)....

Men denne indstilling forsvinder igen når jeg opdaterer siden.
Og selv hvis den ikke gjorde burde der være en anden måde at løse det på.

Any ideas??

/Babz
Avatar billede softspot Forsker
23. januar 2005 - 19:11 #12
Kan du ikke benytte Response.Charset således:

Response.Charset = "ISO-8859-15"
Avatar billede babz Nybegynder
23. januar 2005 - 22:03 #13
Jo for dælen....jeg har åbenbart bare brugt den forkert....jeg havde set den brugt således: Response.Charset(strEnc) Men det virkede jo selvfølgelig ikke.

Jeg er med på hvorfor, og skammer mig (kun lidt) over at jeg ikke gennemskuede det....men når man finder kode som folk påstår virker, så stiller jge ikke spørgsmål....ihvertfald ikke før det viser sig ikke at virke.

Nå men du kan jo endnu en gang smide et svar....

Ha det ender da med du scorer alle mine point. :)

Det virker så kun på min header information....det bliver så lavet om i min http-response og ikke på siden....men det virker super.
Men hvorfor foregår det på den måde..... Hvordan kan det være det ikke påvirker min side fysisk??

/Babz
Avatar billede softspot Forsker
23. januar 2005 - 22:17 #14
Er det ikke fordi response-headers benyttes af browseren til at tilpasse sig indholdet, uden at det nødvendigvis ændrer på indholdet af siden...?

Anyway! Du har sikkert en pointhøst kørende på nogle andre emner - hvem ved det kan være du kommer til at score nogle hos mig på et tidspunkt ;)
Avatar billede babz Nybegynder
24. januar 2005 - 12:35 #15
Jo
Avatar billede babz Nybegynder
24. januar 2005 - 13:01 #16
Ha....hmmmm gad vide om det tæller som en feature....jeg accepterede dit svar, og havde nået at skrive "Jo"...men var overbevist om at min kommentar ikke blev submittet før jeg havde trukket på "Send".

Nå men "Jo" du har sikkert ret, jeg er lettere blank på ASP-området, dog virker det lidt mystisk.

Hvad overskriver hvad????
Er det http-headeren der bliver overskrevet lige før den sendes eller hvad?????

/Babz
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
Kurser inden for grundlæggende programmering

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