Gå til innhold

ASP: [Løst]Norske tegn tegn viser ikke fra #includes (klassisk ASP, VBScript)


Anbefalte innlegg

Har søkt høyt og lavt, herjet vilt med "codepage" og "charset" uten å oppnå mer enn ytterligere forverringer (at æøå alltid rotes til), så nå håper jeg noen har idéer som kan hjelpe.

 

Som testen (beskrevet nedenfor) viser, er æøå-håndteringen i ASP-filen helt normal, mens tegnene forsvinner om de kommer fra/via include-filen.

 

Her er en bit av begynnelsen på .ASP testfilen;

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

 

Så dytter jeg inn nedenforstående kode, som gir forventet resultat i nettleseren;

 

<%="Norske tegn: 'æøå'"%><br>

 

 

Under henviser jeg til enda en testfil v.h.a;

 

<!--#include file="testcode.asp" -->

 

 

... som inneholder den samme koden, og ikke noe mer;

 

<%="Norske tegn: 'æøå'"%><br>

 

 

Men resultatet da er at det ikke er noe æøå inni apostrofene, som blir stående som om det aldri var noe mellom dem ...

Lenke til kommentar
  • 1 måned senere...
Videoannonse
Annonse

Kan virke som encoding problemer med IIS oppsettet.

IIS kan settes opp til å bruke valgte encoding oppsett for requests, respons og fileaccess.

Husker dessverre ikke helt hvor du fant dette ATM ettersom jeg ikke har tilgang på IIS akkuratt nå etter som sitter på ett ny-installert system.

Lenke til kommentar

Endelig en idé — takk skal du ha!

 

Jeg har kikket grundig i tilgjengelige IIS-innstillinger uten å ha sett noe som rimer, og etter enda en kikk fant jeg like lite.

 

Men, du gav meg litt andre ord å søke på enn jeg brukte selv, så nå havnet jeg på en interessant artikkel ("Asp include file causing wrong encoding") hvor det "Byte Order Mark" ble nevnt og litt om hvordan man fjerner denne headeren som blir lagt i filer uten at de vil synes i editoren - ikke en gang i Notepad!

 

Å åpne include-filen i Wordpad vil forøvrig også "kryptere" æøå, så Wordpad er tilsynelatende også opptatt av markeren.

 

Litt mer søk basert på funnet om BOM, og jeg fant en annen interessant og enda nyttigere artikkel; ("Setting encoding in web authoring applications").

 

I denne artikkelen blir det enkelt forklart hvordan man løser problemet, som altså ikke er forårsaket av IIS men programmet som oppretter/lagrer filen.

 

I Dreamweaver, som er aktuelt for mitt vedkommende, ligger løsningen i menyvalget Modify > Page Properties, og så kategorien; Title/Encoding. Der endret jeg fra "Western European" til "Unicode (UTF-8)", og da får jeg de savnede æøå'ene fra include-filen også.

 

Ser det greit ut under kjøring, men ikke i editoren, kan det være at an også må inn i menyvalget Edit > Preferences, og så kategorien Fonts. Hvor "Unicode" også må være satt.

 

Med andre ord har Byte Order Markeren tydeligvis presedens når det i tillegg legges inn spesifikasjon av Charset/CodePage etc. i koden.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...