Hallo losREDBULLos,
ich bzw. vermutlich auch andere haben ein Problem mit der Darstellung der Umlaute im [lexicon='Einsatzmonitor'][/lexicon] - im Bereich des Stichwortes. Bedingt durch die Riesenanzahl von Stichwortsynonymen (>150) und Straßen (>1000) wird der Alarmtext von FirEmergency empfangen und entsprechend aufbereitet (Stichwort- und Adresserkennung).
In Firemergency ist im Ablauf die Funktion "Alarmtext(eigene Parameter)" wie folgt hinterlegt:
Direkt darunter eingerückt in der "Pipeline" folgt dann die Funktion "Alarmtext protokollieren", die dann entstehende Datei wird im [lexicon='EinsatzMonitor'][/lexicon]-Ordner "Text-Input" abgelegt. In FirEmergency steht die Auswahl auf Exportformat "Plaintext", "XML" wäre auch noch möglich. Das entsprechende Pattern liest dann die benötigten Parameter aus.
Wenn ich mir diese exportierte Datei anschaue, entdecke ich keine fehlerhafte Darstellung der Umlaute. Im [lexicon='EinsatzMonitor'][/lexicon] werden dann die Umlaute fehlerhaft angezeigt. Ich kann mir zwar mit Textersetzungen helfen, jedoch greifen diese nicht auf das Stichwort.
Mein Pattern:
{{SACHVERHALT}}
{{EINSATZSTICHWORT}}
{{STRASSE}}
{{HAUSNUMMER}}
{{ORTSTEIL}}
{{ORT}}
{{GOOGLEMAPS}}
Die nachfolgende Batchdatei hast du für [lexicon='BOSMON'][/lexicon] geschrieben, als Laie erkenne ich das du das Textformat in UTF16 und danach in UTF8 mit Hilfe von Temporärdateien änderst:
@echo off &setlocal
:: derzeitige Codepage sichern
for /f "tokens=2 delims=:" %%i in ('chcp') do set /a "oemcp=%%~ni"
:: zu Windows-1252 wechseln
>nul chcp 1252
:: Zieldatei spezifizieren
set "targetfile=C:\Users\AlarmMonitor\Einsatz_Monitor\Text_Input\Alarm.txt"
:: Zieldatei anlegen
>"%targetfile%" echo %~1
:: temporäre Dateien spezifizieren
set "utf16file=%temp%\tmp16.utf~"
set "utf8file=%temp%\tmp8.utf~"
:: Byte Order Marks schreiben
<nul >"%utf16file%" set /p "=ÿþ"
<nul >"%utf8file%" set /p "="
:: Konvertierung zu UTF-16 LE
>>"%utf16file%" cmd /u /q /d /c type "%targetfile%"
:: Konvertierung zu UTF-8
>nul chcp 65001
>>"%utf8file%" cmd /a /q /d /c type "%utf16file%"
>nul chcp %oemcp%
:: UTF-16 Datei löschen
del "%utf16file%"
:: Zieldatei durch UTF-8 Datei ersetzen
>nul move /y "%utf8file%" "%targetfile%"
Alles anzeigen
Anstatt "Alarmtext protokollieren" könnte ich auch eine "Batch" in FirEmergency starten.
Kannst Du mir hier helfen und erklären wie ich die obige Batchdatei ändern muss, damit im [lexicon='EinsatzMonitor'][/lexicon] alles richtig funktioniert?