Bash shell
Die Feinheiten unter Linux haben eigentlich bisher immer geklappt, ohne das ich mich einlesen mußte.... halt Debian
Da mein Motto "Mit Tux gegen Mobbing" ist, spare ich mit Tux viel Zeit
Dann der Schreck bei utf-8 waren nun plötzlich die Umlaute im blog sehr häßlich. Die Lösung stand wie immer bereits im Internet. Was sollte man nur ohne tun, ach ja man hätte diese Probleme ja sonst nicht
Einige Daten sollte den richtigen Inhalt haben. Nicht alles werden von allen Programmen benötigt.
Zockertown als alter Blogger mit s9y hatte das Problem in der Vergangenheit bereits gelöst:
Mit den sipppet läßt sich mal schnell alles erfassen und ausgeben!
#!/bin/bash for LANG in de de_DE de_DE.UTF-8 de_DE.foo de_DE.ASCII de_de.iso-8859-1 de_DE.iso-8859-1 de_DE.ISO-8859-1 de_DE.ISO8859-1 de_DE.ISO-88591 de ; do printf "%-20s " $LANG; date +"%A"; done
Die Ausage von info.php lies nicht schlimmes vermuten:Die Default timezone war nicht gesetzt, das habe ich in der apache.conf nachgeholt!
date/time support enabled Timezone Database Version 2006.14 Timezone Database internal Default timezone Europe/Berlin Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone Europe/Berlin Europe/Berlin
..und hängen ans Dateiende noch folgende zwei Zeilen: Code: LANG="de_DE.UTF-8" LANGUAGE="de_DE:de:en_GB:en" Dann speichern und den Editor verlassen.
Die verantwortliche Datei für das Blog ist diese:
/usr/share/serendipity/www/lang/UTF-8/serendipity_lang_de.inc.php
der angepaßte Inhalt bei mir sieht so aus:
@define('LANG_CHARSET', 'UTF-8');
@define('SQL_CHARSET', 'utf8');
@define('DATE_LOCALES', 'de_DE.UTF-8', 'de_DE.ISO_8859-1');
@define('DATE_FORMAT_ENTRY', '%A, %e. %B %Y');
@define('DATE_FORMAT_SHORT', '%d.%m.%Y %H:%M');
@define('WYSIWYG_LANG', 'de_DE.ISO_8859-1');
@define('NUMBER_FORMAT_DECIMALS', '2');
@define('NUMBER_FORMAT_DECPOINT', ',');
@define('NUMBER_FORMAT_THOUSANDS', '.');
@define('LANG_DIRECTION', 'ltr');
more /etc/environment ... LANG=de_DE.UTF-8 LANGUAGE=de_DE:de:en_GB:en #LANG=de_DE@euro
Test auf Umlaute:
echo -e "'\303\204\304\211\320\257'"
Vermutlich sind Deine "locales" und die Environment-Variablen nicht optimal gesetzt.
Welche locale bei Dir aktiv ist, siehst Du mit dem Befehl "locale" Das sieht bei mir so aus:
$ locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" [...] LC_ALL=de_DE.UTF-8
Um die vielen Variablen nicht alle einzeln setzten zu müssen, reicht es die Variable "LC_ALL" zuzuweisen. Interaktiv in der Shell geht das mit:
- $ export LC_ALL="de_DE.UTF-8"
.... Umgebungs-Variable "LANGUAGE" richtig gesetzt werden. (Das export LANGUAGE=de_DE Und für die globale Einstellung ein Eintrag in /etc/environment
Angabe der hilfreichen Quellen:
Linux/Debian/environment-datum-umlaute-und-locales-konfigurieren (last modified 2008-11-04 06:59:56)