Hvordan koder Ubuntu en fil?

Alle tekniske spørgsmål som ikke hører ind under de andre fora.
Ole Mose
Indlæg: 92
Tilmeldt: 21. apr 2009, 00:11

Hvordan koder Ubuntu en fil?

Indlæg af Ole Mose »

Jeg har nogle problemer med at få filers tegnsæt til at vises ordentligt - specielt web-filer (Html og php)
Problemet er, at jeg ikke kan finde ud af, hvilken kodning en fil laves i som standard, når jeg f.eks. opretter den med vi og/eller nano.
Det får betydning for hvad der vise og hvordan i f.eks. browsere. I browsere kan man til dels kontrollere det gennem headers. Men jeg synes altid jeg skal eksperimentere for meget med tingene, før jeg kan være sikker på at det virker rigtigt.

Gemmer Ubuntu en tekstfil som unicode eller noget andet?
Mvh
Ole Mose
Vild med Open Source
osmagasinet.dk
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Hvordan koder Ubuntu en fil?

Indlæg af NickyThomassen »

Det er faktisk to forskellige spørgsmål, og web-delen har ikke noget med Ubuntu at gøre, men med opsætningen af de dokumenter som serveren skal vise :)

Prøv og tilføj denne linie i toppen af alle webdokumenterne

Kode: Vælg alt

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

Den løser problemet med æø og å i browsere. Det eneste problem du måske kan få, er at linien passer til et HTML5-dokoment.

Opbygningen af sådan et dokument ser sådan her ud

Kode: Vælg alt

<!DOCTYPE html>
<html lang="da-dk">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="DC.Language" content="dan" />
<link href="/styles.css" rel="stylesheet" type="text/css" media="screen" />
<title>...</title>
</head>
<body>
...
</body>
hvor linien med stylesheet selvfølgelig er valgfri.
Ole Mose
Indlæg: 92
Tilmeldt: 21. apr 2009, 00:11

Re: Hvordan koder Ubuntu en fil?

Indlæg af Ole Mose »

Jeg er klar over, hvordan tingene kan behandles i en browser - det er kun et symptom, når jeg beskriver det.
Mit problem er systematikken i det at oprette et nyt site på serveren og så have en håndfast viden om, hvordan Ubuntu serveren lagrer filerne.
Jeg har oplevet flere gange, at jeg får vist unicode tegn i den editor jeg bruger (gennem FTP), samt hvordan tingene ser ud i nano og vi.
Så det er det grundlæggende system, jeg er interesseret i. Det har i sidste ende betydning for hvilke headere der skal sendes ud. I HTML gør man det ganske rigtigt med meta tagget, som du er inde på.
Grundlæggende lagres tekstfiler med en indbygget tegnkodning og det får i den sidste ende betydning for dem, der skal bruge filerne. Om det så er browserlæsere, web-services eller andet.
Det handler således om, at jeg ikke har lyst til at efterforske hver gang jeg opretter et ny site om tegnkodningen nu fungerer som forventet. Indtil nu er det ikke lykkedes for mig, at få 100% styr på det.
En af de ting der komplicerer det, er sikkert også, at jeg har servere, der er installeret på forskellige sprog. Servere der bearbejdes med forskellige teknologier som f.eks. DTC panel o.a.
Mvh
Ole Mose
Vild med Open Source
osmagasinet.dk
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Hvordan koder Ubuntu en fil?

Indlæg af lath »

Ole Mose skrev:Jeg er klar over, hvordan tingene kan behandles i en browser - det er kun et symptom, når jeg beskriver det.
Mit problem er systematikken i det at oprette et nyt site på serveren og så have en håndfast viden om, hvordan Ubuntu serveren lagrer filerne.
Jeg har oplevet flere gange, at jeg får vist unicode tegn i den editor jeg bruger (gennem FTP), samt hvordan tingene ser ud i nano og vi.
Så det er det grundlæggende system, jeg er interesseret i. Det har i sidste ende betydning for hvilke headere der skal sendes ud. I HTML gør man det ganske rigtigt med meta tagget, som du er inde på.
Grundlæggende lagres tekstfiler med en indbygget tegnkodning og det får i den sidste ende betydning for dem, der skal bruge filerne. Om det så er browserlæsere, web-services eller andet.
Det handler således om, at jeg ikke har lyst til at efterforske hver gang jeg opretter et ny site om tegnkodningen nu fungerer som forventet. Indtil nu er det ikke lykkedes for mig, at få 100% styr på det.
En af de ting der komplicerer det, er sikkert også, at jeg har servere, der er installeret på forskellige sprog. Servere der bearbejdes med forskellige teknologier som f.eks. DTC panel o.a.


Ubuntu bruger UTF8 tekst indkodningen (eng. text encoding), men det har ikke nødvendigvis noget med dine dokumenter at gøre, da de kan være gemt i en andet tekst indkodning end UTF8.

Det betyder at hvis du gemmer dine HTML filer i UTF8, og bruger ASCII 8-bit(med MSb=0) til javascript og CSS så virker det fint, hvis du har et meta tag der siger at det teksten er UTF8 (jeg vil sætte den ind som første tag inde i meta, da resten af dokumentet så bliver fortolket, som om det er UTF8 tekst af browseren).
Husk at HTML indkode problematiske tegn (dem der indgår i HTML dokumentets syntax).

Bonus information / Teknisk snik-snak du kan springe over
ASCII 8-bit, hvor øverste bit er 0 (MSb=0) er kompatibel med UTF8, da tegnene fra 0 til 127 (begge incl) er ens i UTF-8, og ASCII 8-bit med MSb=0.

0 er 0b0000_0000 = 0x00 og 127 er 0b0111_1111 = 0x7F.

/Lars

edit: typos rettet
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags