Hvis du bruger et andet tegnsæt end UTF-8

Dette er et lidt nørdet indlæg for mange, men ikke desto mindre et tilbagevendende problem for flere af dem, der kontakter mig pr. e-mail. Desuden har det, så vidt jeg husker, også været vendt i forumet, så her kommer en lille tale om UTF-8 vs. ISO-8859-1. Der er både forsvarstale og løsningsforslag, så læs blot videre.

UTF-8 er standard på alle WordPress-blogs, og den danske oversættelsesfil bliver kun oversat i UTF-8. Af en grund. Fire, faktisk. Men der er stadig nogle, der af uransagelige årsager især insisterer på at bruge ISO-8859-1. En del af dem, der vælger det, gør det af den simple årsag, at de inkluderer en blog på en side, der allerede er kodet i ISO-8859-1. Dem, der installerer en stå-alene-WordPress-blog og manuelt går ind og retter til ISO-8859-1 er ganske givet bare udenfor web-logisk rækkevidde. Arrrhhhh, ok. Men det er virkelig ikke den bedste løsning.

  1. Resten af WordPress er kodet i UTF-8
    WordPress-kildekoden er kastet ind i (hovedsageligt) php-filer, der er kodet som UTF-8. At lave en oversættelsesfil som andet (dvs. ISO-8859-1 virker meget ulogisk. At bruge entities er derfor eneste logiske alternativ.
  2. Entities gør teksten sværere at læse for oversætteren og skaber derfor større risiko for fejloversættelser.
    Når vi som oversættere skal skrive de danske sætninger, bliver det lynhurtigt uoverskueligt at læse korrektur på teksterne, hvis der inkluderes entities. Det kunne eksempelvis give følgende  oversætelse:
  3. Entities bliver ikke læst rigtigt i e-mails.
    Hvis man bruger entities i oversætelsesfilerne, kommer de til at stå i de e-mails, der bliver sendt ud fra bloggen. Både til administrator og brugere. Det er selvfølgelig på ingen måde hensigtsmæssigt. Kunne man kode de tekststrange, der sendes ud pr. e-mail som UTF-8 og resten af oversættelsesfilen med entities? Ja, det kunne man måske godt.
  4. Oversættelser af plugins og temaer er ofte UTF-8
    Når en eller anden Yderst Venlig Person sætter sig ned og oversætter et tema eller et plugin, som ikke er klargjort til oversættelse, finder obversættelsen sted i kildekoden. Det kan ikke forlanges af disse Yderst Venlige Personer, at de sætter sig ind i tegnsæt, entiteter osv. og at de ikke falder i  korrekturfælden i #2.

Alt i alt kan jeg kun sige: Brug nu for fandengalemig og krafthelvede bare UTF-8!

Nååååå nej, der var jo disse hersens integreringsmennesker, som på det nærmeste er tvunget ud i at lave bloggen til ISO-8859-1 (eller i meget få tilfælde et andet tegnsæt). Dem vil vi også gerne have til at bruge WordPress. På dansk, vel at mærke. Så er det godt, vi har en entrepenant finsk ven i Kimmo Suominen. Han har nemlig brygget et par plugins, som vi forsøger at få inkluderet i selve WordPress-koden. Men det har vist lange udsigter. Især fordi de kræver, at din host kører modulet iconv, hvis de bruger PHP4 (det er standard i PHP5).

Det ene plugin, som er det, der er klart mest relevant for de fleste, er Character Set Conversions. Og ja, det gør, hvad det siger. Laver UTF-8-tegnene om til det tegnsæt, du bruger. Det andet plugin, som kan blive nødvendigt for nogle få, er Multibyte Mail, som praktisk taget gør det samme for dine WordPress-e-mails, som Character Set Conversions gør for selve bloggen.

Moralen i denne historie, spørger du? Det skal jeg sige dig. Brug UTF-8, hvis du har mulighed for det. Hvis du ikke har det, er der stadig ingen grund til at finde et andet værktøj. Det er de uanede mængder af plugins og temaer, der gør WordPress til det klart bedste blog- og minicms-værktøj på markedet i øjeblikket. Det er bare om at komme i gang.

Tags: , , , , ,

6 tanker om "Hvis du bruger et andet tegnsæt end UTF-8"

  1. spiri

    Af en eller anden grund lavede jeg det om til ISO, da jeg i sin tid installerede WordPress på spiri.dk. Jeg har ikke nogen fornuftig forklaring 😛 Det er faktisk lidt pinligt :D.

    Svar
  2. Thomas-DK

    God artikel!
    Der er simpelthen ikke noget mere frusterende et at sidde og rode med import/export når det ikke er samme tegnsæt.
    Verdenen ville være meget lettere hvis alle brugte UTF-8 🙂

    Svar
  3. Kimmo

    Hi!

    Thanks for writing about my plugins!

    I’d just like to add that even if you stick with UTF-8, you may still well need the Multibyte Mail plugin. As it happens, the developers didn’t test mail sending that well with non-ASCII characters. Post titles and author names can have Danish words/names, and these are used without the necessary encoding when sending mail. This can result in unreadable text, depending on the mail systems through which the message travels.

    There is also a problem with pingbacks: they don’t carry character set information, so your posts can show up with unreadable titles on sites like Technorati. I thought I had fixed this once already on my site, but I must have mistakenly dropped that change during one of the upgrades. I should make that a plugin as well, so that all pingbacks and trackbacks are always sent in UTF-8.

    Best regards,
    Kimmo

    P.S. Your email address checker is broken. It complains when the email address has plus signs: Fejl: Skriv venligst en gyldig e-mail-adresse. This is actually one of the things that original WordPress has handled correctly.

    Svar
  4. Pingback: microformats.dk » Optimus henter microformats i XML eller JSON

Skriv et svar til Kimmo Annuller svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *