Vad gäller? utf-8 eller iso-8859-1?

Tråden skapades och har fått 18 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Höganäs
  • 2005-04-04 11:49

Rubriken säger allt:
Vad ska man(jag) satsa på i HTML-kodandet:

utf-8 eller iso-8859-1

Är mest intresserad av att slippa problemen med de svenska tecknen, åäö till ä etc.

Finns något särskilt att tänka på när det gäller publicering från MySQL och encoding?

/m

  • Medlem
  • Varberg
  • 2005-04-04 12:12
Ursprungligen av Micke F:

Rubriken säger allt:
Vad ska man(jag) satsa på i HTML-kodandet:

utf-8 eller iso-8859-1

Är mest intresserad av att slippa problemen med de svenska tecknen, åäö till ä etc.

Finns något särskilt att tänka på när det gäller publicering från MySQL och encoding?

/m

När det gäller MySQL så har det inte stöd för utf-8 i versioner tidigare än 4.1. Tyvärr utesluter det en hel del webbhotell som kör 4.0.x, däribland Oderland som jag anlitar. Man kan kringgå det med utf8_encode/-decode i PHP.
Tycker du ska satsa på utf-8, mest av ideologiska skäl, liknar väl lite resonemanget kring XHTML kontra HTML 4. Eftersom XHTML och utf-8 är framtiden så är det bra att göra övergången så snart som möjligt.

  • Medlem
  • Höganäs
  • 2005-04-04 12:58
Ursprungligen av skamuel:

När det gäller MySQL så har det inte stöd för utf-8 i versioner tidigare än 4.1. Tyvärr utesluter det en hel del webbhotell som kör 4.0.x, däribland Oderland som jag anlitar. Man kan kringgå det med utf8_encode/-decode i PHP.
Tycker du ska satsa på utf-8, mest av ideologiska skäl, liknar väl lite resonemanget kring XHTML kontra HTML 4. Eftersom XHTML och utf-8 är framtiden så är det bra att göra övergången så snart som möjligt.

Ok. Tack.
Dock har jag också Oderland. Hur, kort, använder man utf8_encode/-decode i PHP? Krångligt eller lätt?

  • Medlem
  • Varberg
  • 2005-04-04 13:03
Ursprungligen av Micke F:

Ok. Tack.
Dock har jag också Oderland. Hur, kort, använder man utf8_encode/-decode i PHP? Krångligt eller lätt?

Väldigt lätt, utf8_encode($sträng) samt utf8_decode($sträng). Jag använder utf8_encode() precis innan eller till och med inuti echo/printf-satsen. utf8_decode() är nästan smidigast att mata med SQL-queryn som en sträng, så får du rätt data in i databasen.

  • Medlem
  • Mölndal
  • 2005-04-04 23:42

Jag tycker också du ska satsa på UTF-8. Se bara till att ange det överallt, t ex i http header, som meta-tag, samt i din CSS-fil!

  • Medlem
  • Stockholm
  • 2005-04-05 13:20
Ursprungligen av memark:

Jag tycker också du ska satsa på UTF-8. Se bara till att ange det överallt, t ex i http header, som meta-tag, samt i din CSS-fil!

Mest för att vara konsekvent eller? Eller för att man ska kunna ha kommentarer med åäö ?
(CSS-filen jag syftar på)

  • Medlem
  • Varberg
  • 2005-04-05 13:47
Ursprungligen av ivar:

Mest för att vara konsekvent eller? Eller för att man ska kunna ha kommentarer med åäö ?
(CSS-filen jag syftar på)

Ja, det enda som är noga är ju att spara den utf-8-kodad. Finns ju ingenstans i css-filen där du kan specificera teckenkodning.

  • Medlem
  • Mölndal
  • 2005-04-05 19:20
Ursprungligen av ivar:

Mest för att vara konsekvent eller? Eller för att man ska kunna ha kommentarer med åäö ?
(CSS-filen jag syftar på)

I de allra flesta sammanhang funkar åäö kanonfint med både utf-8 och iso-8859-1, så ja, det viktiga är att vara konsekvent och tydligt ange vad som används. Tilläggas kan väl också att alla filer du normalt skapar på macen är utf-8.

  • Medlem
  • Varberg
  • 2005-04-04 23:46

Och glöm inte för allt i världen att spara dina filer kodade i utf-8, annars blir det inget bra.

  • Medlem
  • Höganäs
  • 2005-04-05 00:05
Ursprungligen av skamuel:

Och glöm inte för allt i världen att spara dina filer kodade i utf-8, annars blir det inget bra.

Been there, done that...

Jag håller på att gå från ISO-8859-1 till UTF-8, men en del gamla projekt är gjorda i ISO-8859-1. Det gör det knepigt när man ska öppna filer i BBEdit eftersom det inte alltid går att veta vilken teckenkodning som används. Man kan ställa in BBEdit att defaulta till en variant, men då blir det ju fel när man öppnar den andra.

  • Medlem
  • Varberg
  • 2005-04-05 11:44

TextMate har en smart funktion för det. Man kan med ett enkelt menykommando "öppna om" en fil med en annan textkodning. Det har kanske BBEdit också? Men det är ju lite jobbigt i vilket fall.

Ursprungligen av skamuel:

TextMate har en smart funktion för det. Man kan med ett enkelt menykommando "öppna om" en fil med en annan textkodning. Det har kanske BBEdit också? Men det är ju lite jobbigt i vilket fall.

Jo, BBEdit har "Reopen using encoding" men det är som sagt bökigt, speciellt när man öppnar ett gäng filer för en sajt (och speciellt om man inte minns vad dokumenten har för kodning från början, då får man leta efter svenska tecken och se om dom ser lustiga ut).

  • Medlem
  • Stockholm
  • 2005-04-05 19:19

Så kommer frågan från ett hemside-blåbär. Vad är skillnaden?

  • Medlem
  • Stockholm
  • 2005-04-05 20:11

Kan rekommendera denna text av Joel Spolsky för den som vill ha lite bakgrund och mer info om teckenkodningar och vad de har för betydelse:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

http://www.joelonsoftware.com/articles/Unicode.html

  • Medlem
  • Stockholm
  • 2005-04-05 22:11
Ursprungligen av peterj:

Kan rekommendera denna text av Joel Spolsky för den som vill ha lite bakgrund och mer info om teckenkodningar och vad de har för betydelse:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

http://www.joelonsoftware.com/articles/Unicode.html

Tack för det!

När det gäller PHP + MySQL och unicode så verkar det fungera ganska bra trots att man har en gammal version av MySQL. Sparar du en unicode-sträng från PHP och sedan kollar på den i tex. phpMyAdmin kommer det se konstigt ut eftersom kodningen skiljer sig åt men om du från php plockar ut samma sträng och presenterar den på din UTF-8-kodade sida så märker du inte av vad MySQL har för format.

Det är i alla fall erfarenheten jag har. Problemet är att det blir svårt att exportera databasen och importera den någon annanstans såvida man inte har en väldigt ny version av phpMyAdmin där man kan välja vilken teckenkodning man vill exportera/importera till/från.

Kanske inte helt ortodoxt men det kan fungera ganska bra. Själv tycker jag det jobbigaste med UTF-8 är att de allra flesta funktioner inte fungerar med dessa strängar så man får bestämma sig noga för var och hur konverteringat skall ske, det blir ju inte helt effektivt om varje metod inleder med att koda varje sträng till ISO för att sedan konvertera tillbaka innan den returnerar.

Tiger lär förövrigt innehålla en hel del nya unix-verktyg som fungerar med unicode man kan bara hoppas att sådant blir vanligare framöver.

WordPress jobbar ju med UTF-8 och det går att använda med äldre MySQL-versioner, så det går helt klart på något sätt.

1
Bevaka tråden