-
Zeichnsatzproblem
Hallo zusammen,
hoffe mal das es hier passt, weil ich mir sonst nicht weiterhelfen konnte wohin damit (^__^)
ich habe ein script für die bash geschrieben, was mir eine textliste generiert und diese als anhang per mail verschickt. nun habe ich es so eingerichtet das ich es über ein webinterface aus starten kann.
mein problem liegt nun darin das wenn ich es von der konsole manuel starte, kommt die mail richtig an, starte ich es aber über den webserver kommt irgendwie eine falsche zeichenkodierung zustande und die umlaute sind nicht korrekt dargestellt.
der webserver läuft auf einen linuxsystem. über eine html-seite wird ein perlscript aufgerufen welches wiederum nur das bashscript mit 2 parametern startet.
ich versende meine mails auf windowssysteme.
liegt es an irgendwelchen programmiertechnischen dingen oder doch eher an der serverkonfiguration
gruß alex23
-
Der verwendete Zeichensatz kann sich von Benutzer zu Benutzer unterscheiden. Ehrlich gesagt habe ich da auch nicht ganz den Durchblick, wer wie was einstellt und überhaupt. Ein bisschen undurchsichtig die ganze Geschichte.
Ich würde als erstes mal sicherstellen dass die Umgebungsvariablen LANG, LANGUAGE und LC_ALL beim Testbenutzer/Script dieselben sind - d.h. am besten wohl explizit setzen im Script oder für den Webserverbenutzer (wobei ich dann nicht weiss wie sich das bei cgi auf das Script überträgt/vererbt).
MfG Peschmä
-
Die versuche die umgebungsvariablen zu setzen für das script funktionierten nicht so recht. ich bin dann durch einen kollegen darauf gebracht worden, mein file im anhang einfach ins ISO-Format zu konvertieren und dann fiel mir ein das ich sowas schon mal mit iconv gemacht hatte.
hab jetzt also in meinen script einfach das hier noch vor dem versenden stehen:
iconv -f UTF-8 -t ISO8859-1 /tmp/$1.txt > /tmp/$1.csv
ich verstehe allerdings immernoch nicht ganz wieso ich das nun so machen muss, weil wenn ich das script ja von hand ausführe gehts auch ohne iconv... aber naja..