Kontrollera teckenkodning på fil

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Karlskrona
  • 2008-08-04 17:26

Först och främst, jag vet att det har skapats miljoner trådar om ämnet tidigare. Ingen har dock tagit mig närmare en lösning av mitt problem.

Frågan: Finns det något sätt att i Leopard kolla vilken teckenkodning en fil är sparad i? Det verkar som att Apache säger latin1 och filen är sparad i utf8. Jag har prövat att ändra inställningarna i Smultron och få den att spara filen som latin1, men det verkar inte gå alls. Dessutom har jag lite svårt att tyda inställningarna i Smultron. Problemet visar sig genom att åäö blir Ä och ä osv.

Någon som kan hjälpa?

  • Medlem
  • Mölndal
  • 2008-08-04 17:35

Med några få undantag (tänker främst på BOM i Unicode) så går det inte att "kontrollera". Det man kan göra är snarare att anta olika teckenkodningar och se om det ser rimligt ut. Pss kan man göra mer eller mindre kvalificerade gissningar, men att VETA går egentligen inte.

Prova BBEdit, tror att även Lite-versionen har stöd för att spara i valfri teckenkodning.

Utöver detta är det min starka åsikt att du i största möjliga utsträckning bör välja UTF-8, om du inte har starka skäl emot.

  • Medlem
  • Karlskrona
  • 2008-08-04 18:15
Ursprungligen av memark:

Med några få undantag (tänker främst på BOM i Unicode) så går det inte att "kontrollera". Det man kan göra är snarare att anta olika teckenkodningar och se om det ser rimligt ut. Pss kan man göra mer eller mindre kvalificerade gissningar, men att VETA går egentligen inte.

Prova BBEdit, tror att även Lite-versionen har stöd för att spara i valfri teckenkodning.

Utöver detta är det min starka åsikt att du i största möjliga utsträckning bör välja UTF-8, om du inte har starka skäl emot.

Okej, tack för tipsen. Ska testa BBEdit. Och ang UTF8, så har jag försökt få det att funka förut men har haft så stora problem att få igång det på min server, samt att konvertera alla filer. Så det är mest därför jag fortsätter med latin1.

  • Medlem
  • Stockholm
  • 2008-08-04 18:53

I terminalen kan du använda kommandot file.

$ file myfile.txt

  • Medlem
  • Karlskrona
  • 2008-08-04 20:12
Ursprungligen av pesc:

I terminalen kan du använda kommandot file.

$ file myfile.txt

Där har vi det, tack så mycket!

Ursprungligen av flojon:

Om det är HTML så pröva att använda denna rad i headern (och spara som UTF-8):

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

är det XHTML så pröva med följande som första rad i filen:

<?xml version="1.0" encoding="UTF-8"?>

Ja, jag uteslöt från början att det skulle vara problemet då curl -I url gav mig rätt teckenkodning. Men tack för tipset!

Ursprungligen av flojon:

Finns också otaliga trådar angående teckenkodningar.
Tänk på att alla inblandade delar måste använda samma teckenkodning annars får du sånna problem som du beskriver. Så även ev. databas, externa filer m.m. måste ha samma teckenkodning.

Ja. Det är väl där jag har haft problem tidigare. Det jag skulle vilja göra är att ställa in apache, mysql och php att visa UTF-8, konvertera allt i databasen till UTF-8 och konvertera alla filer till UTF-8. Då borde det ju funka, eller hur? Detta vet jag, men har ändå inte fått till det. Så det är nog mig det är fel på.

  • Medlem
  • Göteborg
  • 2008-08-04 19:19

Om det är HTML så pröva att använda denna rad i headern (och spara som UTF-8):

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

är det XHTML så pröva med följande som första rad i filen:

<?xml version="1.0" encoding="UTF-8"?>

Finns också otaliga trådar angående teckenkodningar.
Tänk på att alla inblandade delar måste använda samma teckenkodning annars får du sånna problem som du beskriver. Så även ev. databas, externa filer m.m. måste ha samma teckenkodning.

  • Medlem
  • Stockholm
  • 2008-08-04 21:30

Om du inte är rädd för terminalen använder du iconv för att konvertera filer mellan encodings.

$ iconv -l
... listar vilka encodings som finns

$ iconv -f ISO-8859-1 -t UTF-8 < infile.txt > outfile.txt
... konverterar infile.txt från ISO-8859-1 till UTF-8

1
Bevaka tråden