Hey Leute, erstmal folgendes, ich hab keinen Plan ob ich mich mit diesem Problem hierher oder doch an das Linuxforum wenden sollte (wg. bash und so), aber ich versuchs jetzt erstmal hier..
Ich hab mir ein kleines Script zum Posten beim Microbloggingservice identi.ca erstellt, das so aufm Laptop auch vollständig funktioniert.
Die Umlaute zu ersetzen habe ich versucht, weil es damit nun Probleme im MobileTerminal aufm iPhone gibt. Ich kann sie in die Shell selbst garnicht erst eingeben (es erscheint einfach nichts, wenn ich z.B. ein ö schreibe), wenn jedoch mein Script hier im Beispiel die Eingabe verlangt, dann kann ich sehr wohl Umlaute schreiben, die dann auch korrekt in die Variable gespeichert und aus dieser auch wieder korrekt per echo gelesen werden können.
Nun scheint es aber nicht möglich zu sein, die Umlaute korrekt an andere Programme weiterzugeben:
1. Sende ich eine Nachricht mit Umlaut per wget an identica, kommt in meiner Nachricht nur ein � statt des Umlautes an.
2. sed ersetzt die Umlaute auf dem iPhone nicht, sprich die $outputline enthält Umlaute (es ist sicher auf dem iPhone vorhanden und am Laptop funktioniert das Script genau so wie es da steht).
Das liegt wohl an der fehlerhaften Unterstützung von Umlauten im MobileTerminal? Hat jemand ne Idee was man da tun könnte? Bei der Googlesuche und auf der Google-Page vom MobileTerminal konnte ich zu dem Thema leider nix finden.
Und falls ich mich ins Linuxforum verdrücken soll, würd ich mich über ein bisschen Anschubhilfe von nem Mod freuen
Viele Grüße
Spezi
Ich hab mir ein kleines Script zum Posten beim Microbloggingservice identi.ca erstellt, das so aufm Laptop auch vollständig funktioniert.
Code:
#!/bin/bash
#Hier User-Daten angeben
username=abc
password=xyz
#Zur Konfiguration fuer andere Laconica-Services (oder andere mit passender API)
server=https://identi.ca/api/statuses/update.xml
limit=140 #maximal erlaubte Anzahl von Zeichen fuer die Nachricht
#script
echo Gib deine neue Nachricht ein: ;
read inputline;
outputline=`echo $inputline | sed 's/\ö/oe/g' | sed 's/\ä/ae/g' | sed 's/\ü/ue/g'`
lang=${#outputline}
if [ $lang -le $limit ]
then echo Die Nachricht ist $lang Zeichen lang und wird nun gesendet!
echo $outputline
wget --no-check-certificate --http-user=$username --http-password=$password --post-data="status=$outputline" $server
rm update.xml
else echo Die Nachricht ist zu lang! Es sind nur maximal $limit Zeichen erlaubt, die Nachricht hat aber $lang Zeichen!;
echo Deine Nachricht lautete: $outputline
fi
Die Umlaute zu ersetzen habe ich versucht, weil es damit nun Probleme im MobileTerminal aufm iPhone gibt. Ich kann sie in die Shell selbst garnicht erst eingeben (es erscheint einfach nichts, wenn ich z.B. ein ö schreibe), wenn jedoch mein Script hier im Beispiel die Eingabe verlangt, dann kann ich sehr wohl Umlaute schreiben, die dann auch korrekt in die Variable gespeichert und aus dieser auch wieder korrekt per echo gelesen werden können.
Nun scheint es aber nicht möglich zu sein, die Umlaute korrekt an andere Programme weiterzugeben:
1. Sende ich eine Nachricht mit Umlaut per wget an identica, kommt in meiner Nachricht nur ein � statt des Umlautes an.
2. sed ersetzt die Umlaute auf dem iPhone nicht, sprich die $outputline enthält Umlaute (es ist sicher auf dem iPhone vorhanden und am Laptop funktioniert das Script genau so wie es da steht).
Das liegt wohl an der fehlerhaften Unterstützung von Umlauten im MobileTerminal? Hat jemand ne Idee was man da tun könnte? Bei der Googlesuche und auf der Google-Page vom MobileTerminal konnte ich zu dem Thema leider nix finden.
Und falls ich mich ins Linuxforum verdrücken soll, würd ich mich über ein bisschen Anschubhilfe von nem Mod freuen
Viele Grüße
Spezi