blog/templates/permalink.htm - header
Hauptseite
31.05.2006 23:18:49

NanoBlogger und Umlaute...

Wie jeder sehen kann, benutze ich für mein Blog ein sehr geniales Bash-Tool namens NanoBlogger. Das Tool ist nicht besonders komfortabel, wie jeder zugeben wird, der es benutzt. Jedoch kommt es ohne Datenbank aus, man kann den Editor seiner Wahl nutzen (natürlich vim) und dank einer geschickten Template-Struktur kann man es fast beliebig im Aussehen verändern.

Das Problem

Was aber wohl für einige deutschsprachige Nutzer ein Problem zu sein scheint, ist das Thema Umlaute. Zumindestens haben sich in den letzten Woche zwei oder drei User auf meine Seite verirrt, die scheinbar rausfinden wollten, wie sie ihre Umlaute korrekt dargestellt bekommen. Daher hier ein paar kleine Infos zu dem Thema, wie ich sie verstanden habe. :)

Nanoblogger ist in der Standard-Konfiguration auf UTF-8-Inhalte eingestellt. Dies kann man an zwei Stellen sehen. Zum einen am Header der erstellten HTML-Dateien (index.html):

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for MkLinux (vers 12 April 2005), see www.w3.org" />
<meta http-equiv="Content-Type" content=
"application/xhtml+xml; charset=utf-8" />
<meta name="generator" content="NanoBlogger 3.2" />
<meta name="robots" content="all" />
<meta name="revisit-after" content="31 days" />
<title>My Weblog</title>

zum anderen an den folgenden Zeilen aus der Konfiguration, die standardmässig erstellt wird blog.conf:

...
BLOG_CHARSET="utf-8"
...
TIDY_HTML_ARGS="-asxhtml -n -utf8"
TIDY_XML_ARGS="-xml -n -utf8 -wrap 0"
...

Dass heisst, wenn man seine Einträge im Editor speichert, dann muss man dafür sorgen, dass die Datei UTF-8-kodiert gespeichert wird. Standardmässig sind nun allerdings die meisten Linux-Distributionen auf Latin-1 eingestellt, was dazu führt, dass die Umlaute im Blog nicht korrekt dargestellt werden.

Lösung 1: Dateien UTF-8-kodiert speichern

Wie man die verschiedenen Editoren dazu bringt, die Datei als UTF-8 zu speichern, kann ich hier natürlich nicht zusammenfassen. Aber für meinen Lieblingseditor vim ist die Sache eigentlich relativ einfach. Beim Speichern der Datei nicht wie sonst einfach :w tippen, sondern das folgende nutzen:

:w ++enc=utf-8

Dies muss man allerdings jedesmal beim Speichern berücksichtigen und nicht vergessen. Sonst landet schon wieder Datenmüll im Blog.

Weitere Hinweise in der vim-Hilfe mit :help ++enc.

Lösung 2: Nanoblogger auf Latin-1 umstellen

Alternativ kann man natürlich Nanoblogger auf Latin-1 umstellen. Dann kann man seinen Editor wieder ganz normal benutzen und braucht sich keine Gedanken mehr um die Kodierung der Dateien machen.

Hierzu muss man nur die oben bereits gezeigten Zeilen wie folgt modifizieren:

...
BLOG_CHARSET="iso-8859-1"
...
TIDY_HTML_ARGS="--doctype transitional -asxhtml -n -latin1"
TIDY_XML_ARGS="-xml -latin1 -n -wrap 0"
...

Wichtig ist es, die Konfigurationszeilen für Tidy nicht zu vergessen. Ansonsten "korrigiert" Tidy das gewünschte Encoding in den HTML-Dateien wieder auf UTF-8 und man sieht wieder keine Umlaute.

Nach dieser Korrektur und reparsen der bisherigen Blogeinträge mit

nb -b PATH -u all

sollten nun alle Umlaute korrekt dargestellt werden. Ab jetzt muss man beim Speichern der Dateien nichts mehr berücksichtigen.

Ich hoffe, dieser Artikel wird dem einen oder anderen helfen. Für Korrekturen und Kommentare bin ich immer offen und würde mich sogar speziell darüber freuen.



Erstellt von Jerri | Kategorie: homepage, konsole