From: Moritz Bunkus Date: Mon, 26 Nov 2018 14:20:47 +0000 (+0100) Subject: LC_CTYPE-Locale auf eine UTF-8-Locale setzen X-Git-Tag: release-3.5.4~205 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/497b9801238cc3aef87293b09f1cecf68ecdbcfa?hp=497b9801238cc3aef87293b09f1cecf68ecdbcfa LC_CTYPE-Locale auf eine UTF-8-Locale setzen Beim Starten des Perl-Interpreters wird die Locale anhand von Umgebungsvariablen wie `LC_CTYPE`, `LC_ALL` und `LANG` gesetzt. Unter (F)CGI sind diese normalerweise leer, wodurch als Locale die POSIX-Locale (`C`) gewählt wird — und die hat nur ASCII als Zeichensatz. Die iconv-Funktion scheint nun nicht transliterieren zu können, wenn ASCII als Zeichensatz ausgewählt ist. Sie macht dann z.B. aus `ć` ein `?` anstelle von `c`. Beim Start der Programme wird nun `LC_CTYPE` auf eine sinnvoller Locale gesetzt. Dies ist `de_DE.UTF-8` oder `en_US.UTF-8`, falls erstere nicht verfügbar ist. Die Sprache ist hierbei irrelevant, da nur `LC_CTYPE` gesetzt wird und und nicht z.B. auch `LC_MESSAGES` oder `LC_TIME`. Dies ist Voraussetzung dafür, das #348 gefixt werden kann. ---