Avatar billede mortvader Nybegynder
07. juli 2008 - 13:17 Der er 20 kommentarer og
1 løsning

problemer med danske tegn

Hej.

Når jeg prøver at hente et XML dokument fra min webserver vha nedenstående ASP script, bliver æøå erstattet med et ?.
Hvor skruer jeg på opsætningen for at få æøå med?

----
Set h = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
h.Open "GET",source
h.send()
if h.status<>200 then
  response.write "ERROR: "&h.responsetext
  response.end
end if

response.write h.responsetext
set h=nothing
----
Avatar billede arne_v Ekspert
07. juli 2008 - 15:11 #1
Lyder som den encoding som din ASP side fortaeller browseren at siden er i og
den encoding som den respons du kopierer raat tilbage har er forskellige.
Avatar billede mortvader Nybegynder
07. juli 2008 - 15:22 #2
Ok, hvordan finder jeg ud af hvilken encoding mine xml filer reelt har, og hvordan definerer jeg det så?
Er det det med content-type = xml/text eller hvordan er det nu?
Jeg har forsøgt mig med nogle af de andre eksempler der nævnes her på eksperten, men uden held :P

Jeg må indrømme at jeg ingen styr har på det med codepages/content types..
Avatar billede arne_v Ekspert
07. juli 2008 - 15:27 #3
Ja - man kan angive charset i ContentType.
Avatar billede mortvader Nybegynder
07. juli 2008 - 15:45 #4
Ok, hvordan finder jeg ud af hvilken encoding mine xml filer reelt har, og hvordan definerer jeg så det?
Avatar billede arne_v Ekspert
07. juli 2008 - 17:26 #5
Kig paa encoding i XML prolog og ContentType i den respons du faar fra din request.
Avatar billede mortvader Nybegynder
08. juli 2008 - 08:34 #6
Der er ingen forskel i den oprindelige fil, og det dokument jeg ender med at få ud af ovennævnte script.

Undtagen æøå bliver smadret:
Eksempel:
"Miljørigtige betingelser"
bliver til:
"Milj?ige betingelser"

Der står ingen contenttype eller encoding i filen.

Nogen bud?
Avatar billede w13 Novice
08. juli 2008 - 12:50 #7
Prøv at åbne din XML-fil i Notesblok, vælg "Gem som" og tjek, om der står "UTF-8" i feltet "Encode".
Avatar billede mortvader Nybegynder
08. juli 2008 - 12:53 #8
Desværre er der ikke noget felt kaldet "encode" eller "encoding" i disee dokumenter. Heller ikke "contenttype"
Avatar billede w13 Novice
08. juli 2008 - 12:56 #9
Det skal der være, når du åbner det i Notesblok.

I øvrigt er det heller ikke content-type, der er relevant, men charset.
Avatar billede w13 Novice
08. juli 2008 - 12:56 #10
Kan jeg se XML-dokumentet?
Avatar billede mortvader Nybegynder
08. juli 2008 - 12:57 #11
<?xml version="1.0"?>
<!DOCTYPE ICECAT-interface SYSTEM "http://data.icecat.biz/dtd/ICECAT-interface_response.dtd">
    <ICECAT-interface>
      <Product ID="86002" ThumbPicSize="0" Quality="ICECAT" HighPic="http://data.icecat.biz/img/norm/high/86002-6282.jpg" LowPic="http://data.icecat.biz/img/norm/low/86002-6282.jpg" LowPicSize="7893" Prod_id="JM334D643A-60" HighPicSize="0" ThumbPic="http://data.icecat.biz/thumbs/86002.jpg" Code="1" Name="256MB, DDR, DIMM, DDR,333MHz, CL2, JetRam">
      <ProductDescription/>
      <ProductRelated/>
      <ProductMultimediaObject/>
     
    <ProductFeature Localized="0" ID="10413344" Value="256" CategoryFeature_ID="11699" CategoryFeatureGroup_ID="1546" No="10101000" Presentation_Value="256 MB">
    <Feature ID="6">
      <Measure ID="19" Sign="MB">
      <Signs><Sign ID="201" langid="7">MB</Sign></Signs>
      </Measure>
    <Name ID="34560" Value="Intern hukommelse" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219395" Value="DRAM" CategoryFeature_ID="6137" CategoryFeatureGroup_ID="1546" No="10100980" Presentation_Value="DRAM">
    <Feature ID="427">
      <Measure ID="29" Sign="">
      <Signs/>
      </Measure>
    <Name ID="35010" Value="Intern hukommelse, teknologi" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219399" Value="DIMM-184pin " CategoryFeature_ID="6132" CategoryFeatureGroup_ID="1546" No="100999" Presentation_Value="DIMM-184pin ">
    <Feature ID="771">
      <Measure ID="29" Sign="">
      <Signs/>
      </Measure>
    <Name ID="35398" Value="Formfaktor" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219400" Value="333" CategoryFeature_ID="6128" CategoryFeatureGroup_ID="1546" No="100998" Presentation_Value="333 MHz">
    <Feature ID="1626">
      <Measure ID="18" Sign="MHz">
      <Signs><Sign ID="9" langid="1">MHz</Sign></Signs>
      </Measure>
    <Name ID="36105" Value="" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219405" Value="32M x 64" CategoryFeature_ID="6133" CategoryFeatureGroup_ID="1546" No="100990" Presentation_Value="32M x 64">
    <Feature ID="1631">
      <Measure ID="29" Sign="">
      <Signs/>
      </Measure>
    <Name ID="36108" Value="" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219408" Value="CL2.5" CategoryFeature_ID="6141" CategoryFeatureGroup_ID="1546" No="100968" Presentation_Value="CL2.5">
    <Feature ID="1635">
      <Measure ID="29" Sign="">
      <Signs/>
      </Measure>
    <Name ID="36113" Value="" langid="7"/>
    </Feature>
    </ProductFeature>

    <ProductFeature Localized="0" ID="15219417" Value="2.5" CategoryFeature_ID="11705" CategoryFeatureGroup_ID="1552" No="100986" Presentation_Value="2.5 V">
    <Feature ID="1466">
      <Measure ID="42" Sign="V">
      <Signs><Sign ID="26" langid="1">V</Sign></Signs>
      </Measure>
    <Name ID="35739" Value="Input Voltage" langid="7"/>
    </Feature>
    </ProductFeature>

      <ProductFamily ID="1">
      <Name/>
      </ProductFamily>
      <ProductBundled/>
      <ProductGallery/>
     
    <CategoryFeatureGroup ID="1545" No="18">
    <FeatureGroup ID="0">
      <Name ID="55725" Value="Tekniske detaljer" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1546" No="22">
    <FeatureGroup ID="3">
      <Name ID="55700" Value="Hukommelse" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1548" No="16">
    <FeatureGroup ID="8">
      <Name ID="55705" Value="Systemkrav" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1549" No="0">
    <FeatureGroup ID="14">
      <Name ID="55710" Value="Vægt &amp; dimensioner" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1552" No="20">
    <FeatureGroup ID="27">
      <Name ID="55722" Value="Strømstyring" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1551" No="14">
    <FeatureGroup ID="28">
      <Name ID="55723" Value="Miljømæssige betingelser" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1550" No="12">
    <FeatureGroup ID="32">
      <Name ID="55727" Value="Udholdenhed" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>
    <CategoryFeatureGroup ID="1547" No="25">
    <FeatureGroup ID="33">
      <Name ID="55728" Value="Access time" langid="7"/>
    </FeatureGroup>
    </CategoryFeatureGroup>

        <EANCode EAN="0760557788065"/>
      <Supplier ID="249" Name="Transcend"/>
      <Category ID="911">
     
    <Name ID="36286" Value="memory modules" langid="7"/>

      </Category>
      </Product>

</ICECAT-interface>
Avatar billede w13 Novice
08. juli 2008 - 13:01 #12
Hvilket tegnsæt bruger du på dine andre sider? ISO-8859-1 eller UTF-8?

Ret:
<?xml version="1.0"?>
til:
<?xml version="1.0" encoding="UTF-8"?>
hvis UTF-8 og til:
<?xml version="1.0" encoding="ISO-8859-1"?>
hvis ISO-8859-1.

Og så bør du stadig kigge på encoding i notesblok.
Avatar billede mortvader Nybegynder
08. juli 2008 - 13:07 #13
Problemet er at det ikke er hensigtsmæssigt at rette i dokumenterne som jeg jo henter eksternt.

Jeg er ikke vant til at angive noget tegnsæt, og må indrømme at det forvirrer mig lidt. Jeg har ikke før været ude for sådan noget her.

Som sagt findes ordet "encoding" ikke i XML dokumentet. Men er det en dokumentproperty på filniveau du mener? Jeg kan ikke finde ud af det..

(skyd mig) :)
Avatar billede w13 Novice
08. juli 2008 - 13:09 #14
Hvis du ikke kan ændre i filen, kan jeg desværre ingen tricks, der vil få det til at virke.

Hvis du angav <?xml version="1.0" encoding="UTF-8"?> som jeg beskrev før og åbnede filen i notesblok og valgte "Gem som" og i dialogboksen valgte "ANSI" i feltet "encoding", så ville det nok virke.

Encoding er altså ikke en del af XML-filens indhold, men en dokumentproperty, som du selv siger. Og den kan tilgåes via Notesblok i Gem Som-dialogboksen.
Avatar billede mortvader Nybegynder
08. juli 2008 - 13:14 #15
Aha okay!

Når jeg prøver "gem som", foreslår notepad ANSI.

Er der så en property der kan sættes til ANSI i objektet
"Msxml2.ServerXMLHTTP.3.0" ?

Tror jeg tager en tur til på google, men hvis nogen har en konkret løsning herfra, så sig endelig til.

W13 tak for hjælpen so far.. det gav da lidt fornyet håb :)
Avatar billede janegil Nybegynder
08. juli 2008 - 16:50 #16
har jeg forstått dette rett: Du får en XML-fil som du ikke har innflydelse på. Den leses av et ASP-skript som du KAN endre i?

Så kan du kanhende eksperimentere litt med ASP's Response.Charset() for å se hva som virker?

Eller har jeg et vagt og ubehagelig minne om at Microsoft XML betrakter UTF-16 som 'det normale', mens resten av verden har UTF-8 som default. Default tegnsett fungerer uansett dårlig i praksis - det hadde vært fint om du fikk påvirket kilden din til å deklarerer (korrekt) tegnsett.
Avatar billede janegil Nybegynder
08. juli 2008 - 16:51 #17
Avatar billede mortvader Nybegynder
09. juli 2008 - 09:50 #18
Ja, du har forstået det ret :)
Jeg prøver med response.charset... :P
Avatar billede janegil Nybegynder
09. juli 2008 - 10:08 #19
Kan vi finne ut av hvilken encoding som faktisk er brukt i XMLen din? Er det en URL der vi andre kan hente XML'en?

Hvis ikke, kan du prøve å åpne den selv i en brower, og skifte encoding manuelt, prøve (IE) Vis >Tegnset. Prøv Vesteuropeisk Windows og ISO, UTF-8...underlig, jeg kan ikke velge UTF-16 i IE? (Sikkert noe lureri...) Men i Firefox kan jeg explisistt velge UTF-16. Er det tilstrekkelig med 'underlige' tegn i XMLen, skal bare én av encodingene vise den riktig.
Avatar billede gertp Nybegynder
13. august 2008 - 10:50 #20
prøv response.write server.URLEncode(h.responsetext)
Avatar billede mortvader Nybegynder
25. november 2008 - 12:46 #21
lukket, den er forældet..
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

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