/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
AJAX og ASP HTMLencode
Fra : Rune Jensen


Dato : 28-12-07 22:45

Hej, gruppe, og god baghjul

Spørgsmål: Jeg bruger AJAX til at sende data til en ASP, som gemmer disse i
en text-fil. Problemet er, jeg tror, dataene er i UTF-8, det er nemlig, så
vidt jeg har kunnet læse mig frem til, det, som bruges i AJAX. Jeg bruger så
i ASP funktionen HTMLencode på de modtagne data, men den virker ikke efter
hensigten, den laver danske karakterer om til dobbelte karakterer med
mystisk udseende.

Er der en metode til at enten hardcode en simulering af HTMLencode, så man
undgår problemet, eller at få HTMLencode til at lave rigtig kovertering af
UTF-8?

Skal siges, jeg er ny i AJAX og har heller ikke meget forstand på det med
tegnsæt, men vil meget gerne oplyses


MVH
Rune Jensen

--
"Man er kun ung én gang, men derfor kan man godt være et umodent pattebarn
hele livet"
- Kim Schumacher
http://www.kimschumacher.dk/



 
 
Stig Johansen (29-12-2007)
Kommentar
Fra : Stig Johansen


Dato : 29-12-07 07:14

Rune Jensen wrote:

> Hej, gruppe, og god baghjul
>
> Spørgsmål: Jeg bruger AJAX til at sende data til en ASP, som gemmer disse
> i en text-fil. Problemet er, jeg tror, dataene er i UTF-8,

Det _er_ de.
Din _server_ returnerer ikke charset, men der er en _BOM_[1] i din
_tekstfil_.

Du kan undersøge om ikke det er din ASP, der gemmer i UTF-8.

> det er nemlig,
> så vidt jeg har kunnet læse mig frem til, det, som bruges i AJAX.

Ikke heelt korrekt. Det ligger sådan at UTF-8 er den _foretrukne_ encoding
inden for XML, og ikke et _krav_.

> Jeg
> bruger så i ASP funktionen HTMLencode på de modtagne data, men den virker
> ikke efter hensigten,

Det gør den faktisk, forstået på den måde at HTMLencode laver sådan npget
her:
<fra txtfilen>
<strong>Your nick:</strong><em>@19:32:52 D. 28-12-2007</em>:
&aelig;&oelig;&aring;&AElig;&Oslash;&Aring;<br />
</fra txtfilen>

> den laver danske karakterer om til dobbelte
> karakterer med mystisk udseende.

I utf-8 fylder alle tegn der har en 'værdi' > 127 mere end 1 byte. De 2
bytes, der udgør _1_ utf-8 'tegn' vises som _2_ enkelte 'tegn'.[2]


> Er der en metode til at enten hardcode en simulering af HTMLencode, så man
> undgår problemet, eller at få HTMLencode til at lave rigtig kovertering af
> UTF-8?

Du skal ikke bruge HTMLencode.
Løsning 1:
Gem din tekstfil i almindelig ISO8859-1(15) format.
Løsning 2 (Hvis det er muligt?)
Sæt din server op til at fortælle, at det er utf-8 i din Content-Type.

> Skal siges, jeg er ny i AJAX og har heller ikke meget forstand på det med
> tegnsæt, men vil meget gerne oplyses

Jeg har givet et par links herunder, men vær opmærksom på, at det kan
forvirre mere end det gavner.

[1] WARNING - might be heavy stuff:
<http://unicode.org/faq/utf_bom.html>
[2] WARNING - can cause serious braindamage:
<http://gedcom-parse.sourceforge.net/doc/encoding.html>

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste