Umlaut bei Wettervorhersage
Moderatoren: Werner, Tex, weneu
-
hanan
Umlaut bei Wettervorhersage
Hallo Wetterfreunde
Ich habe die Wettervorhersage in Textform einbinden wollen, doch die Umlaute werden nicht angezeigt. Was mache ich falsch.
Für einen Tipp bin ich Dankbar.
Gruess
Ich habe die Wettervorhersage in Textform einbinden wollen, doch die Umlaute werden nicht angezeigt. Was mache ich falsch.
Für einen Tipp bin ich Dankbar.
Gruess
-
hanan
Hallo zusammen
Habe das Problem gefunden.
Ich arbeite mit dem Flash "gauge", welches die Umlaute nicht darstellen kann. Schade, muss ich halt die Wettervorhersage in Textform weglassen...
[url]http://andyhaenggi.ch/wetterstation.php[/url]
Habe das Problem gefunden.
Ich arbeite mit dem Flash "gauge", welches die Umlaute nicht darstellen kann. Schade, muss ich halt die Wettervorhersage in Textform weglassen...
[url]http://andyhaenggi.ch/wetterstation.php[/url]
-
hanan
Hallo weneu
Das Problem habe ich noch nicht gelöst, sonder nur gefunden.
Leider kann der XML/SWF Gauge (http://www.maani.us/gauge/) keine Umlaute direkt darstellen. Die Umlaute müssen in Unicode umgewandelt werden. Dieses müsste ich irgendwie in die *.txt-Datei einbinden, damit dieses abgearbeitet werden kann.
Gruess
Das Problem habe ich noch nicht gelöst, sonder nur gefunden.
Leider kann der XML/SWF Gauge (http://www.maani.us/gauge/) keine Umlaute direkt darstellen. Die Umlaute müssen in Unicode umgewandelt werden. Dieses müsste ich irgendwie in die *.txt-Datei einbinden, damit dieses abgearbeitet werden kann.
Gruess
-
joergeli
- Beiträge: 669
- Registriert: 30 Aug 2006 17:32
- Wohnort: 61279 Grävenwiesbach (Hessen)
- Kontaktdaten:
Hallo Andy,
evtl. kann Dir das DOS-Tool replace. exe helfen:
http://www.bestcode.com/html/findreplace.html
Ich verwende es auch, um z.B. alle Kommata in einer Datei in Punkte umzuwandeln.
Du müsstest es dann per Batch-Datei automatisiert ausführen lassen und die Umlaute in Deiner TXT-Datei durch ae, oe, etc. ersetzen lassen.
Das Tool arbeitet kommandozeilenorientiert.
Beispiel:
Hier werden in der testdatei.txt (im Verzeichnis1) alle Strings "Datum" ersetzt duch "#Datum#" und die testdatei.txt mit den Ersetzungen im Verzeichnis2 abgespeichert..
Man kann natürlich Ursprungsverzeichnis (srcdir) und Zielverzeichnis (destdir) identisch machen, dann wird die Ursprungsdatei nach Ersetzen des jeweiligen Strings überschrieben.
In Deinem Fall, müsstest Du die replace.exe 4 Mal über die Datei laufen lassen, damit alle möglichen Umlaute (ä, ö, ü, ß) ersetzt werden.
Evtl. ist es hilfreich für Dich ?
Gruß
Jörg
Nachtrag: Es ist z.B. auch möglich, einen String in sämtlichen TXT-Dateien eines Verzeichnisses zu ersetzen, in dem man einfach Joker (*.txt) verwendet.
P.S. : Es ist natürlich einfacher, wenn Du (wie von Werner beschrieben) die WsWIN-Variable %ws_replacestr........% verwenden kannst.
evtl. kann Dir das DOS-Tool replace. exe helfen:
http://www.bestcode.com/html/findreplace.html
Ich verwende es auch, um z.B. alle Kommata in einer Datei in Punkte umzuwandeln.
Du müsstest es dann per Batch-Datei automatisiert ausführen lassen und die Umlaute in Deiner TXT-Datei durch ae, oe, etc. ersetzen lassen.
Das Tool arbeitet kommandozeilenorientiert.
Beispiel:
Code: Alles auswählen
C:\testi\replace.exe -find Datum -replace #Datum# -srcdir C:\verzeichnis1\ -destdir C:\verzeichnis2\ -fname testdatei.txtMan kann natürlich Ursprungsverzeichnis (srcdir) und Zielverzeichnis (destdir) identisch machen, dann wird die Ursprungsdatei nach Ersetzen des jeweiligen Strings überschrieben.
In Deinem Fall, müsstest Du die replace.exe 4 Mal über die Datei laufen lassen, damit alle möglichen Umlaute (ä, ö, ü, ß) ersetzt werden.
Evtl. ist es hilfreich für Dich ?
Gruß
Jörg
Nachtrag: Es ist z.B. auch möglich, einen String in sämtlichen TXT-Dateien eines Verzeichnisses zu ersetzen, in dem man einfach Joker (*.txt) verwendet.
P.S. : Es ist natürlich einfacher, wenn Du (wie von Werner beschrieben) die WsWIN-Variable %ws_replacestr........% verwenden kannst.
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
-
hanan
OK, erst mal Danke für die Tipps.
Ich habe hier mal meine txt-Datei:
[code]
%customfile=c:\Upload\gauge\vantage.xml%
<gauge>
<text>%forecast_vant%</text>
</gauge>
[/code]
Nach dem Abarbeiten wird der erzeugte Text (%forecast_vant%) mit den Umlaten dargestelt (ä ö ü usw.) welche leider nicht so dargestellt werden.
Diese Umlaute müssten im Text mit Unicode (ä ö ü usw.) dergestellt werden, damit "gauge" dieses richtig darstellen kann.
Hoffe ich habe es verständlich erklärt.
Gruess
Ich habe hier mal meine txt-Datei:
[code]
%customfile=c:\Upload\gauge\vantage.xml%
<gauge>
<text>%forecast_vant%</text>
</gauge>
[/code]
Nach dem Abarbeiten wird der erzeugte Text (%forecast_vant%) mit den Umlaten dargestelt (ä ö ü usw.) welche leider nicht so dargestellt werden.
Diese Umlaute müssten im Text mit Unicode (ä ö ü usw.) dergestellt werden, damit "gauge" dieses richtig darstellen kann.
Hoffe ich habe es verständlich erklärt.
Gruess
-
joergeli
- Beiträge: 669
- Registriert: 30 Aug 2006 17:32
- Wohnort: 61279 Grävenwiesbach (Hessen)
- Kontaktdaten:
Hallo hanan,
wenn Du mit der Variable %forecast_vant% arbeitest,
sollte es doch möglich sein, mit der von Werner genannten
Variable %ws_replacestr=alttext1~neutext2~text%
die Umlaute durch die von Dir gewünschten Unicode-Zeichen zu ersetzen ?
Du musst im Code natürlich noch z.B. "Unicode ä" durch die entspr. Unicode-Zeichen ersetzen.
Prinzip:
1. Zeile prüft, ob in der %forecast_vant% ein ä vorkommt.
Wenn ja, wird das ä durch das entspr. Unicode-Zeichen ersetzt und der gesamte Text in mem1 gespeichert.
2. Zeile prüft, ob in mem1 ein ö vorkommt und ersetzt es durch das entspr. Unicode-Zeichen.
etc.
Der "Trick" hierbei ist, daß in jeder Zeile auf einen Umlaut geprüft wird, dieser entspr. ersetzt wird
und für die nächste Prüfung der komplette Text aus der vorigen Zeile (mit den bereits ersetzten Umlauten) herangezogen wird.
Das %ws_delline% dient nur der Optik, d.h. die Zeile wird in der Ausgabedatei nicht angezeigt.
Wenn ich keinen Denk- bzw. Syntaxfehler gemacht habe, sollte es so funktionieren
Gruß
Jörg
wenn Du mit der Variable %forecast_vant% arbeitest,
sollte es doch möglich sein, mit der von Werner genannten
Variable %ws_replacestr=alttext1~neutext2~text%
die Umlaute durch die von Dir gewünschten Unicode-Zeichen zu ersetzen ?
Code: Alles auswählen
%customfile=c:\Upload\gauge\vantage.xml%
%ws_setmem[1]=%ws_replacestr=ä~"Unicode ä"~%forecast_vant%%% %ws_delline%
%ws_setmem[2]=%ws_replacestr=ö~"Unicode ö"~%ws_getmem[1]%%% %ws_delline%
%ws_setmem[3]=%ws_replacestr=ü~"Unicode ü"~%ws_getmem[2]%%% %ws_delline%
%ws_setmem[4]=%ws_replacestr=ß~"Unicode ß"~%ws_getmem[3]%%% %ws_delline%
<gauge>
<text>%ws_getmem[4]%</text>
</gauge> Prinzip:
1. Zeile prüft, ob in der %forecast_vant% ein ä vorkommt.
Wenn ja, wird das ä durch das entspr. Unicode-Zeichen ersetzt und der gesamte Text in mem1 gespeichert.
2. Zeile prüft, ob in mem1 ein ö vorkommt und ersetzt es durch das entspr. Unicode-Zeichen.
etc.
Der "Trick" hierbei ist, daß in jeder Zeile auf einen Umlaut geprüft wird, dieser entspr. ersetzt wird
und für die nächste Prüfung der komplette Text aus der vorigen Zeile (mit den bereits ersetzten Umlauten) herangezogen wird.
Das %ws_delline% dient nur der Optik, d.h. die Zeile wird in der Ausgabedatei nicht angezeigt.
Wenn ich keinen Denk- bzw. Syntaxfehler gemacht habe, sollte es so funktionieren
Gruß
Jörg
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
-
hanan
-
joergeli
- Beiträge: 669
- Registriert: 30 Aug 2006 17:32
- Wohnort: 61279 Grävenwiesbach (Hessen)
- Kontaktdaten:
Hallo Andy,
freut mich, daß es funktioniert.
... übrigens: sehr hübsch gemacht, Deine "Gauge-Vantage"
Gruß
Jörg
freut mich, daß es funktioniert.
... übrigens: sehr hübsch gemacht, Deine "Gauge-Vantage"
Gruß
Jörg
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
-
hanan
-
hanan
Hallo Jörg
Es funktioniert fast alles. Wenn ich mit ws_setmem den Text berarbeite, wird nicht mehr der ganze Text angezeigt. Nach einer gewissen Anzahl Zeichen ist fertig...
[code]
%ws_setmem[1]=%ws_replacestr=~ä~%forecast_vant%%% %ws_delline%
%ws_setmem[2]=%ws_replacestr=~ö~%ws_getmem[1]%%% %ws_delline%
%ws_setmem[3]=%ws_replacestr=~ü~%ws_getmem[2]%%% %ws_delline%
%ws_setmem[4]=%ws_replacestr=.~;~%ws_getmem[3]%%% %ws_delline%
[/code]
Hast Du mir bitte hierzu noch einen Tipp.
Besten Dank im Voraus.
Es funktioniert fast alles. Wenn ich mit ws_setmem den Text berarbeite, wird nicht mehr der ganze Text angezeigt. Nach einer gewissen Anzahl Zeichen ist fertig...
[code]
%ws_setmem[1]=%ws_replacestr=~ä~%forecast_vant%%% %ws_delline%
%ws_setmem[2]=%ws_replacestr=~ö~%ws_getmem[1]%%% %ws_delline%
%ws_setmem[3]=%ws_replacestr=~ü~%ws_getmem[2]%%% %ws_delline%
%ws_setmem[4]=%ws_replacestr=.~;~%ws_getmem[3]%%% %ws_delline%
[/code]
Hast Du mir bitte hierzu noch einen Tipp.
Besten Dank im Voraus.
-
joergeli
- Beiträge: 669
- Registriert: 30 Aug 2006 17:32
- Wohnort: 61279 Grävenwiesbach (Hessen)
- Kontaktdaten:
Hallo Andy,
leider habe ich keine Vantage und kenne deshalb deren Vorhersagetexte nicht.
Stell doch mal ein Beispiel eines Vorhersagetextes ein,
d.h. wie er im Original aussieht und dann noch die "abgeschnittene" Version.
Gruß
Jörg
leider habe ich keine Vantage und kenne deshalb deren Vorhersagetexte nicht.
Stell doch mal ein Beispiel eines Vorhersagetextes ein,
d.h. wie er im Original aussieht und dann noch die "abgeschnittene" Version.
Gruß
Jörg
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
-
hanan
Hallo Jörg
Hier die beiden Texte:
%forecast_vant% = Zunehmende Bewölkung mit wenig Temperaturänderung. Niederschläge möglich innerhalb der nächsten 24 bis 48 Stunden.
%ws_getmem[4] = Zunehmende Bewölkung mit wenig Temperaturänderung; Niederschläge
(Leider werden in der Forumsdarschtellung die Umlaute nicht als Code dargestellt, welcher durch %ws_getmem[x]% erstellt werden)
Danke für Deine Bemühungen.
Gruess
Hier die beiden Texte:
%forecast_vant% = Zunehmende Bewölkung mit wenig Temperaturänderung. Niederschläge möglich innerhalb der nächsten 24 bis 48 Stunden.
%ws_getmem[4] = Zunehmende Bewölkung mit wenig Temperaturänderung; Niederschläge
(Leider werden in der Forumsdarschtellung die Umlaute nicht als Code dargestellt, welcher durch %ws_getmem[x]% erstellt werden)
Danke für Deine Bemühungen.
Gruess
-
joergeli
- Beiträge: 669
- Registriert: 30 Aug 2006 17:32
- Wohnort: 61279 Grävenwiesbach (Hessen)
- Kontaktdaten:
Hallo Andy,
ich habe noch mal nachgelesen:
Die ws_setmem-Variable kann leider nur bis max. 80 Zeichen verarbeiten,
deshalb wird der Text abgeschnitten.
Habe noch ein wenig probiert und bin auf eine Lösung mit der Variablen ws_setmemline1 gestoßen.
Diese Variable speichert eine komplette Ergebniszeile mit max. Länge 2048 Zeichen.
Probier's mal so:
Erläuterung:
Das Ergebnis jeder Zeile wird immer in ^=ws_setmemline1^ gespeichert.
In der Folgezeile wird mit ^ws_getmemline1^ das Ergebnis der vorigen
Ausgabe wieder eingelesen und abermals in ^=ws_setmemline1^ gespeichert, d.h. ^=ws_setmemline1^ wird überschrieben.
Das Ganze wird so oft wiederholt, bis alle Umlaute ersetzt sind.
Berichte noch mal, ob's jetzt funktioniert.
Gruß
Jörg
ich habe noch mal nachgelesen:
Die ws_setmem-Variable kann leider nur bis max. 80 Zeichen verarbeiten,
deshalb wird der Text abgeschnitten.
Habe noch ein wenig probiert und bin auf eine Lösung mit der Variablen ws_setmemline1 gestoßen.
Diese Variable speichert eine komplette Ergebniszeile mit max. Länge 2048 Zeichen.
Probier's mal so:
Code: Alles auswählen
%customfile=c:\Upload\gauge\vantage.xml%
%ws_replacestr=ä~"Unicode ä"~%forecast_vant%%^=ws_setmemline1^
%ws_replacestr=ö~"Unicode ö"~^ws_getmemline1^%^=ws_setmemline1^
%ws_replacestr=ü~"Unicode ü"~^ws_getmemline1^%^=ws_setmemline1^
%ws_replacestr=ß~"Unicode ß"~^ws_getmemline1^%^=ws_setmemline1^
<gauge>
<text>^ws_getmemline1^</text>
</gauge> Das Ergebnis jeder Zeile wird immer in ^=ws_setmemline1^ gespeichert.
In der Folgezeile wird mit ^ws_getmemline1^ das Ergebnis der vorigen
Ausgabe wieder eingelesen und abermals in ^=ws_setmemline1^ gespeichert, d.h. ^=ws_setmemline1^ wird überschrieben.
Das Ganze wird so oft wiederholt, bis alle Umlaute ersetzt sind.
Berichte noch mal, ob's jetzt funktioniert.
Gruß
Jörg
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus