/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Tegnsæt og hjemmesider
Fra : Jacob Jensen


Dato : 04-02-06 20:56

Jeg har sat en linuxbox op med apache webserver og efter jeg har kopieret
mine hjemmeside-filer til linuxboxen (fra windows) er der problemer med æ,ø
og å i IE.

Hvis jeg åbner filen fra apache på windows i IE virker det fint. Hvis jeg
åbner filen fra apache på linuxboxen virker det ikke. IE viser f.eks. en
firkant istedet for "æve" i ordet "kræver".

Jeg har kigget lidt i noget HEX og mine æ'er har koden E6 i kildefilen som
jeg overførte til linuxboxen. Dette stemmer overens med ISO-8859-1 ikke?
Hvis jeg kigger i kilden efter at have åbnet filen gennem apache fra
linuxboxen med IE så står der stadig æ (kode E6).

Er der nogle der kan kaste lys over sagen? Min html-fil ser ud til følger:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>
Titel
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

Noget

</body>
</html>

Lige et par sidespørgsmål:
Hvordan finder min tekst-editor i windows ud af at gemme æ som E6 (jeg
bruger Metapad)?
Hvordan kan det være, at i Linux kan "cat" godt kan vise mine æ'er men emacs
kan ikke?

Jacob



 
 
Thorkil Olesen (04-02-2006)
Kommentar
Fra : Thorkil Olesen


Dato : 04-02-06 21:48

Jacob Jensen <omo@adslhome.dk> wrote:

> Hvis jeg åbner filen fra apache på windows i IE virker det fint. Hvis jeg
> åbner filen fra apache på linuxboxen virker det ikke. IE viser f.eks. en
> firkant istedet for "æve" i ordet "kræver".

[...]

> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Et gæt: Din Apache er sat op til at angive UTF-8 i http-hovedet. Det
bruger browseren i stedet for den (korrekte!) angivelse i din html-kode.

Prøv at sætte dette direktiv ind i konfigurationsfilen til Apache:

AddDefaultCharset Off

--
Thorkil Olesen,
Hanstholm.

Jacob Jensen (05-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 05-02-06 11:23

> Et gæt: Din Apache er sat op til at angive UTF-8 i http-hovedet. Det
> bruger browseren i stedet for den (korrekte!) angivelse i din html-kode.
>
> Prøv at sætte dette direktiv ind i konfigurationsfilen til Apache:
>
> AddDefaultCharset Off

Rigtigt godt gættet! Tusind tak.

Er der nogle der kan besvare mine sidespørgsmål?

Jacob



Peter Mogensen (05-02-2006)
Kommentar
Fra : Peter Mogensen


Dato : 05-02-06 11:42

Jacob Jensen wrote:
> Hvordan finder min tekst-editor i windows ud af at gemme æ som E6 (jeg
> bruger Metapad)?

RTFM under "encoding" ?

> Hvordan kan det være, at i Linux kan "cat" godt kan vise mine æ'er men emacs
> kan ikke?

Fordi cat bare er et simpelt program, der spytter en byte-stream ud til
terminalen (STDOUT). Det aner ikke hvad det laver. Det er ikke cat, men
terminalen, der står for at fortolke det (hvilket somme tider kan give
"spændende" resultater, hvis data indeholder control-koder til terminalen).
Din terminal kan åbenbart forstå det tegnsæt dine data er i. Derimod kan
Emacs nok ikke umiddelbart gætte tegnsættet. Men du kan jo prøve at
skifte tegnsæt i Emacs, eller sætte default-tegnsæt til noget andet,
eller bytte lidt rundt på prioriteringen i den liste Emacs bruger til at
gætte på tegnsæt med.

Peter

Jacob Jensen (05-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 05-02-06 11:57


"Peter Mogensen" <apm-at-mutex-dot-dk@nospam.no> wrote in message
newskFf.50$hP6.7@news.get2net.dk...
> Jacob Jensen wrote:
>> Hvordan finder min tekst-editor i windows ud af at gemme æ som E6 (jeg
>> bruger Metapad)?
>
> RTFM under "encoding" ?

Kan det uddybes? :)

>> Hvordan kan det være, at i Linux kan "cat" godt kan vise mine æ'er men
>> emacs
>> kan ikke?
>
> Fordi cat bare er et simpelt program, der spytter en byte-stream ud til
> terminalen (STDOUT). Det aner ikke hvad det laver. Det er ikke cat, men
> terminalen, der står for at fortolke det (hvilket somme tider kan give
> "spændende" resultater, hvis data indeholder control-koder til
> terminalen).
> Din terminal kan åbenbart forstå det tegnsæt dine data er i. Derimod kan
> Emacs nok ikke umiddelbart gætte tegnsættet. Men du kan jo prøve at
> skifte tegnsæt i Emacs, eller sætte default-tegnsæt til noget andet,
> eller bytte lidt rundt på prioriteringen i den liste Emacs bruger til at
> gætte på tegnsæt med.

Hvordan sætter jeg default tegnsæt? Det kunne være rart lige at få sat det
korrekt i hvert fald.

Jacob



Peter Mogensen (05-02-2006)
Kommentar
Fra : Peter Mogensen


Dato : 05-02-06 12:13

Jacob Jensen wrote:
>>RTFM under "encoding" ?
>
>
> Kan det uddybes? :)

"Read The Fine Manual" under "encoding".

> Hvordan sætter jeg default tegnsæt? Det kunne være rart lige at få sat det
> korrekt i hvert fald.

"Korrekt" kommer jo an på hvad du ønsker at operere med. Jeg har dette
stående i min .emacs.el:

(prefer-coding-system (quote utf-8-unix))

Men du ville jo gerne have latin1 kan jeg forstå.

Peter



Jacob Jensen (05-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 05-02-06 12:46

> "Korrekt" kommer jo an på hvad du ønsker at operere med. Jeg har dette
> stående i min .emacs.el:
>
> (prefer-coding-system (quote utf-8-unix))
>
> Men du ville jo gerne have latin1 kan jeg forstå.

Jaaa, jeg vil egentligt bare gerne kunne skrive æ,ø,å osv. Jeg er ikke ret
meget inde i det med tegnsæt. UTF-8 er noget unicode-noget ikke?

Jeg troede faktisk at du med "default tegnsæt" mente terminalens tegnsæt.
Hvordan finder jeg ud af hvad den står til? I den kan jeg godt skrive æ,ø,å.

Jacob



Peter Mogensen (05-02-2006)
Kommentar
Fra : Peter Mogensen


Dato : 05-02-06 13:05

Jacob Jensen wrote:
> Jaaa, jeg vil egentligt bare gerne kunne skrive æ,ø,å osv. Jeg er ikke ret
> meget inde i det med tegnsæt. UTF-8 er noget unicode-noget ikke?

Jo.
Men med mindre det system man bruger har valgt 1 og kun 1 tegnsæt som
det "rigtige" og selv klarer alle konverteringer, så bliver man nød til
at vide lidt om tegnsæt, hvis man vil have det til at virke.

"tegnsæt" er jo bare en konvention for hvilke byte/byte-sekvens der
repræsenterer hvilket tegn. Der er ingen ultimativ sandhed for hvordan
det skal være.
Så når du siger at du "bare" gerne vil skrive æ,ø,å , så er der
naturligt 1000 måder at gøre det på. Når folk kommunikerer må de
nødvendigvis "vælge" den samme.
I disse dage er der nok flere tilfælde hvor der sker misforståelser
fordi mange er ved at skifte fra ISO_8859-1 til UTF-8. Specielt er der
mange web-servere, der ikke huske at fortælle browseren hvilket tegnsæt
den benytter.

Men der er jo ikke nogen der siger at du skal bruge UTF-8 ligesom mig.
Dit system er sikkert sat op med noget som default... vælg det, eller
lad være.

> Jeg troede faktisk at du med "default tegnsæt" mente terminalens tegnsæt.
> Hvordan finder jeg ud af hvad den står til? I den kan jeg godt skrive æ,ø,å.

Hvis Emacs ikke kører i terminalen (men under X), så har terminalen ikke
noget med det at gøre.

Hvordan du finder ud af hvad din terminals tegnsæt er er nok forskelligt
fra terminal til terminal.

Peter

Jacob Jensen (05-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 05-02-06 13:58

> "tegnsæt" er jo bare en konvention for hvilke byte/byte-sekvens der
> repræsenterer hvilket tegn. Der er ingen ultimativ sandhed for hvordan
> det skal være.

Ja

> Hvis Emacs ikke kører i terminalen (men under X), så har terminalen ikke
> noget med det at gøre.

Jeg har ikke installeret X så jeg starter emacs fra terminalen. Alligevel
kan jeg godt skrive æ i terminalen men ikke i emacs.

> Hvordan du finder ud af hvad din terminals tegnsæt er er nok forskelligt
> fra terminal til terminal.

Det er vist bash jeg benytter.

Jacob



Peter Mogensen (05-02-2006)
Kommentar
Fra : Peter Mogensen


Dato : 05-02-06 14:03

Jacob Jensen wrote:
> Jeg har ikke installeret X så jeg starter emacs fra terminalen. Alligevel
> kan jeg godt skrive æ i terminalen men ikke i emacs.

Ok. Hvordan ser din Emacs status-bar ud? Hvad står der i nederste
venstre hjørne?

>>Hvordan du finder ud af hvad din terminals tegnsæt er er nok forskelligt
>>fra terminal til terminal.
>
> Det er vist bash jeg benytter.

Bash er ikke din terminal. Bash er din shell (kommando-fortolker).
Men når du siger at du ikke har installeret X, så må det jo betyde at du
sidder direkte ved "konsollen" og din terminal er "linux", eller noget
andet vt100-lignende noget.

Peter

Jacob Jensen (05-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 05-02-06 18:55

> Ok. Hvordan ser din Emacs status-bar ud? Hvad står der i nederste
> venstre hjørne?

De nederste to linjer er:

--uu:---F1 *scratch* (Lisp Interaction)--L1-All-------
For information about the GNU Project and its goals, type C-h C-p

> Bash er ikke din terminal. Bash er din shell (kommando-fortolker).
> Men når du siger at du ikke har installeret X, så må det jo betyde at du
> sidder direkte ved "konsollen" og din terminal er "linux", eller noget
> andet vt100-lignende noget.

Ok. Jeg logger ind på min linuxbox via SSH fra windows.

Jacob



Peter Mogensen (05-02-2006)
Kommentar
Fra : Peter Mogensen


Dato : 05-02-06 20:37

Jacob Jensen wrote:
>>Ok. Hvordan ser din Emacs status-bar ud? Hvad står der i nederste
>>venstre hjørne?
>
> De nederste to linjer er:
>
> --uu:---F1 *scratch* (Lisp Interaction)--L1-All-------
^^^
123

Ok. Det betyder at Emacs:
1) Ikke har nogen mening om det tegnsæt du laver keyboard-input med.
2) Laver output i UTF-8
3) Tænker på selve den fil du har som værende i UTF-8


> Ok. Jeg logger ind på min linuxbox via SSH fra windows.

Ahh...
Så er din terminal jo et Windows program. Så bør du starte med at finde
ud af hvordan den tænker.

Alternativt kan du jo prøve eksperimentere.

Prøv at se hvad der sker hvis du fortæller Emacs at den skal lave latin1
output:

C-x <RET> t
latin-1 <RET>

Peter

Jacob Jensen (07-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 07-02-06 20:15

> Ok. Det betyder at Emacs:
> 1) Ikke har nogen mening om det tegnsæt du laver keyboard-input med.
> 2) Laver output i UTF-8
> 3) Tænker på selve den fil du har som værende i UTF-8

Jeg er ikke helt med på hvad de her ting betyder for mig. Jeg går ikke ud
fra at min fil er i UTF-8.

> Ahh...
> Så er din terminal jo et Windows program. Så bør du starte med at finde
> ud af hvordan den tænker.

Jeg er ret lost i det her med tegnsæt. Min ssh-klient er fra www.ssh.com.

> Alternativt kan du jo prøve eksperimentere.
>
> Prøv at se hvad der sker hvis du fortæller Emacs at den skal lave latin1
> output:
>
> C-x <RET> t
> latin-1 <RET>

Nu skal det lige siges at jeg har geninstalleret Fedora Core 4, og denne
gang er jeg SIKKER på at jeg valgte "Danish latin-1" da jeg skulle vælge
sprog under installationen. Så har vi det på plads :)

Ovenstående ændrer ingen ting. Jeg kan stadig skrive æ,ø og å i skallen men
ikke i emacs. Nu prøvede jeg lige at logge på maskinen lokalt (også altså
ikke over ssh fra windows) - det giver samme resultat.

Jacob



Jacob Jensen (07-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 07-02-06 20:17

> Ovenstående ændrer ingen ting. Jeg kan stadig skrive æ,ø og å i skallen
> men ikke i emacs.

Hov, jeg sov vist. æ bliver til å og å bliver til æ når jeg taster i
skallen.

Jacob



Jacob Jensen (07-02-2006)
Kommentar
Fra : Jacob Jensen


Dato : 07-02-06 20:55

>> Ovenstående ændrer ingen ting. Jeg kan stadig skrive æ,ø og å i skallen
>> men ikke i emacs.
>
> Hov, jeg sov vist. æ bliver til å og å bliver til æ når jeg taster i
> skallen.

Og endnu mere interessant. Hvis jeg skriver "æ" 3 gange og derefter et "å"
så kommer der et fjerde "æ" istedet for et "å". Hvis jeg så trykker på "å"
virker det fint indtil jeg trykker "æ" igen. Så kommer der nemlig et sidste
"å" og sniger sig ind... osv.

Jeg forstår virkeligt ikke meget af det her.

Jacob



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste