19. april 2002 - 17:10Der er
9 kommentarer og 1 løsning
ASP + XML + Flash + Encoding = HJÆLP!!!
Hejsa
Jeg sidder med et meget genstridigt problem, som jeg håber nogen kan hjælpe mig med.
Jeg har en asp-side, der genererer en xml-streng ud fra et databaseudtræk (se Eksempel 1), som jeg så læser fra en Flash-movie. Så vidt, så godt - MEN så godt er det nu heller ikke. Problemet er, at specialtegn (æ, ø, å osv.) får xml'en til at opføre sig mærkeligt.
Jeg har på samme site et asp-dokument der åbner en xml-fil, fjerner tabs og linieskift, og skriver resultatet ud så Flash-movien kan læse den (se Eksempel 2). Her har jeg sjovt nok ikke haft nogen problemer overhovedet - man skal blot sørge for at xml-dokumentet er UTF-8 encodet og starter med <?xml version="1.0" encoding="UTF-8"?>, så er man home free.
Jeg har naturligvis prøvet at sætte charset'et i mit asp-dokument til "UTF-8", og prøvet utallige kombinationer af Charset og ContentType, men ingenting hjælper.
Jeg har prøvet at gemme mit databaseudtræk i en tekstfil, og indholdet er nøjagtigt som det skal være - så jeg er ret sikker på at problemet ligger i ASP-sidens kodning / charset / whatever, men jeg har altså ikke kunnet fikse det på nogen måde.
Jeg er efterhånden klar til at kaste mig ud fra en høj bygning, så jeg vil sætte pris på ENHVER hjælp I måtte kunne yde.
På forhånd mange mange tak :)
- - - - - - -
Eksempel 1: -------------------- <% Response.Charset = "UTF-8"
strResult = [Læs xml fra fil] strResult = [Fjern tabs og linieskift]
Response.Write strResult %>
Eksempel 2: -------------------- <% Response.Charset = "UTF-8"
Joeh, det kunne jeg for så vidt godt, men det er jo mere symptombekæmpelse end det er en løsning på problemet. Desuden er mange andre "specialtegn" der potentielt kan give problemer i fremtiden, så det er ikke rigtig en langtidsholdbar løsning. Men tak for inputtet alligevel :)
Jeg modtager xml'en vha. xml.load. Jeg eksperimenterer lige lidt med CDATA, men det ser umiddelbart ikke ud til at gøre nogen forskel - jeg tror ikke det er i xml'en at fejlen opstår. Jeg har prøvet at skrive mit output i en tekstfil, åbne tekstfilen igen og skrive indholdet ud, men det hjælper lige lidt. Til gengæld kan jeg sagtens åbne tekstfilen fra Flash-movien og trække indholdet ud uden problemer. Mærkeligt...
Mindre hijack: En anden løsning for mig kunne være at skrive mit output i en tekstfil, som jeg så åbner fra Flash-movien. Problemet er at databasen ligger på et andet domæne, så jeg kan ikke connecte til den direkte. Men så vidt jeg ved er det via Flash ikke muligt at åbne en tekstfil på et andet domæne. Hvis nogen har en workaround til det problem, så er det også en løsning.
Databasen er placeret på et domæne som jeg ingen kontrol har over. De har tilbudt at lave en asp-side, som laver database-udrtrækket for mig, og det er stort set den eneste mulighed jeg har, desværre...
Ved godt spørgsmålet er gammelt, men ville lige give mine 0.2$ alligevel. Har du husket at encode dit xml-output som Unicode? Det skulle kunne løse problemerne med specialtegn.
Og så kan jeg anbefale CDATA-tagget meget kraftigt. Gør det muligt at smide html-tags ind i tekst uden problemer.
Synes godt om
Ny brugerNybegynder
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.