Zeichensatz auf UTF-8 ändern?

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

swidrig

Zeichensatz auf UTF-8 ändern?

Beitrag von swidrig »

Ich bin seit September 2008 zufriedener Nutzer von WsWin und möchte das Programm nicht mehr missen. Ein kleines Problem habe ich aber noch damit.

Wenn ich unter Internet - WWW - HTML den charset auf utf-8 ändere werden die Sonderzeichen nicht mehr korrekt angezeigt.

Hintergrund: Meine Webseite wurde mit Joomla und utf-8 erstellt. Wenn ich die von WsWin erstellten Dateien (mit ISO-8859-1) mittels iFrame einbinde, funktioniert die Darstellung einwandfrei. Da ich aber kein Freund von inline Frames bin, möchte ich gerne die von WsWin erstellten Dateien mit

Code: Alles auswählen

include ("datei.php"); 
direkt in die Webseite einbinden.

In der generierten php-Datei habe ich den charset bereits entsprechend abgeändert. Wo muss ich sonst noch etwas anpassen, damit ich die Sonderzeichen mit utf-8 korrekt angezeigt bekomme?

Ich nehme an, das Problem liegt zwischen den Ohren, aber ich komm einfach nicht drauf.

Herzliche Grüsse aus der Schweiz
Stefan
Holli

Beitrag von Holli »

Internet/Einstellungen/HTML rechts oben utf-8 eingetragen?
swidrig

Beitrag von swidrig »

Hallo Dietmar.
Holli hat geschrieben:Internet/Einstellungen/HTML rechts oben utf-8 eingetragen?
Danke für Deine Antwort. Ja, dort habe ich bereits utf-8 eingetragen.
Zudem habe ich in den txt-Dateien das charset=iso-8859-1 durch utf-8 ersetzt. Leider erfolglos.

Wenn ich unter http://www.widrig.ch/wetter/current.html und http://www.widrig.ch/wetter/niederschlag.php den Source-Code anschaue, ist utf-8 eingetragen. Trotzdem wird nicht der richtige Zeichensatz angezeigt. Wenn ich beim Browser auf ISO-8859-1 umstelle, werden die Sonderzeichen trotz UTF-8 wieder korrekt angezeigt.

Ich werde mir das eingebundene CSS-File noch genauer ansehen. Evtl. ist dort noch was vesteckt.

Gruss Stefan
rolsch

Beitrag von rolsch »

Hallo Stefan,
in deinem Quelltext steht:

Code: Alles auswählen

...HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"
.
.
.
<b>47.406°N - 9.641°E</b>
...
Du hast zwar utf-8 definiert aber z.B. die Geodaten sind nicht in UTF-8 codiert.
Da der Browser jetzt aber UTF-8 anzeigen möchte, "kennt" er die Sonderzeichen nicht,
da diese als iso-8859-1 Codes vorhanden sind.

Ich vermute,
du musst die Sonderzeichen im HTML-Coding (PHP-Funktionen) umkonvertieren,
das ° Zeichen wäre dann z.B. ein &deg; im HTML-Coding.
Canada-John
Beiträge: 61
Registriert: 26 Okt 2003 18:26
Wohnort: Vienna, Austria / Ottawa, Canada
Kontaktdaten:

Beitrag von Canada-John »

Hi Stefan,

das Problem mit UTF-8 und WsWin kenne ich schon länger.

Wenn Du deine Seiten mit PHP erstellen lässt, kanst Du auch den von WsWin erzeugten Text mit PHP in UTF-8 Code umwandeln.

Hier die Problemlösung.

Code: Alles auswählen

echo utf8_encode &#40;"Hier steht der von WsWin generierte Text mit Umlauten und Sonderzeichen"&#41;;
Damit wird der Text in UTF-8 kodiert und vom Browser korrekt ausgegeben :)

edit: Zum erstellen der PHP-Dateien, einen Editor verwenden der UTF-8 codierten Quelltext erzeugt. Am besten PSPad (mein Favorit :lol: ) oder Notepad++.

Gruß John
swidrig

@rolsch und @Canada-John

Beitrag von swidrig »

Hallo miteinander.

Vielen Dank für die wertvollen Tipps.
Ich habe nun eine Kombination von Euren Lösungsvorschlägen angewandt und es klappt wunderbar. Der Rest ist jetzt nur noch Fleissarbeit. ;-)

Herzliche Grüsse aus der Schweiz
Stefan
Benutzeravatar
Werner
Site Admin
Beiträge: 6091
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 145 mal
Kontaktdaten:

Beitrag von Werner »

Hallo,

zur Information:
in der Version V2.94.0 gibt es dazu eine neue Variable:

%ws_replaceforhtml[das ° ^ Ä ist nur ein test äöüß]%
Ergebnis:
das &deg; ^ &Auml; ist nur ein test &auml;&ouml;&uuml;&szlig;

Werner
swidrig

Beitrag von swidrig »

Hallo Werner.
Werner hat geschrieben:Hallo,

zur Information:
in der Version V2.94.0 gibt es dazu eine neue Variable:
Super. In diesem Fall warte ich mit Freuden auf die neue Version.

Schönen Abend noch.

Gruss Stefan
rabit
Beiträge: 324
Registriert: 16 Dez 2001 01:00
Wohnort: Mannheim
Kontaktdaten:

Beitrag von rabit »

Ich wollte auch umstellen, habe es aber wieder bleiben lassen.

Mittlerweile gibt es zwar das
%ws_replaceforutf8[das ° ^ Ä ist nur ein test äöüß]%

Wäre es nicht möglich wenn die Vorlage (template) schon in "utf-8" vorliegt, als charset in wswin "utf-8" angegeben ist, dann auch die Files wieder als "utf-8" abzuspeichern?
Momentan werden ja die Vorlagen die in "utf-8" vorliegen gnadenlos als iso-8859.. oder ANSI? interpretiert und das Ergebnis auch wieder so abgespeichert. Da kommt bei Sonderzeichen nichts brauchbares mehr heraus.

Mit dem replaceforutf8 kann ich ja nicht immer die ganzen templates "umrahmen"?
Viele Grüße aus Mannheim
gerhard

Bild
Davis VP2 > Weather Envoy > Weatherlink > WSWIN
Davis VP2 > Weather Envoy > Meteohub > Meteoplug
Benutzeravatar
Werner
Site Admin
Beiträge: 6091
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 145 mal
Kontaktdaten:

Beitrag von Werner »

@Gerhard,

replaceforutf8 wirkt nur auf eine Zeile.

Wenn Wswin eine Html-Seite mit utf-8 Codierung erzeugt, sollte es kein Problem geben.

Ich denke aber, Du sprichst von benutzerdefinierten Dateienen.
Ich muss der Anwender Variablen mit replaceforutf8 "sichern" (wo eben Sonderzeichen vorkommen können).

Werner
rabit
Beiträge: 324
Registriert: 16 Dez 2001 01:00
Wohnort: Mannheim
Kontaktdaten:

Beitrag von rabit »

@Werner,

probiert habe ich es mit den templates.
Wenn ich aber das Ergebnis mit utf-8 ansehe (nicht konvertiere) sieht der Teil der Vorlage war wieder gut aus. Nur das von wswin ersetzte hat zum Teil unleserliche Sonderzeichen. (verwende notepad++)
Werde am Wochenende noch einmal probieren. Es ist aber weder wirklich wichtig noch dringend für mich.
Viele Grüße aus Mannheim
gerhard

Bild
Davis VP2 > Weather Envoy > Weatherlink > WSWIN
Davis VP2 > Weather Envoy > Meteohub > Meteoplug
rabit
Beiträge: 324
Registriert: 16 Dez 2001 01:00
Wohnort: Mannheim
Kontaktdaten:

Beitrag von rabit »

Werner hat geschrieben: Wenn Wswin eine Html-Seite mit utf-8 Codierung erzeugt, sollte es kein Problem geben.
Stimmt das funktioniert (fast).
Aufgefallen ist mir das dann in der Datei myyyymm.htm (m201001.htm) die Angabe "Heiße Tage" nicht richtig kodiert ist.

Schön wäre es wenn wswin templates und custom-files auch als ganzes im utf-8 Format verarbeiten könnte.
Viele Grüße aus Mannheim
gerhard

Bild
Davis VP2 > Weather Envoy > Weatherlink > WSWIN
Davis VP2 > Weather Envoy > Meteohub > Meteoplug
Benutzeravatar
Werner
Site Admin
Beiträge: 6091
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 145 mal
Kontaktdaten:

Beitrag von Werner »

@Gerhard,

ja das ist noch ein Fehler - habe ich übersehen!

Werner
stuggi
Beiträge: 155
Registriert: 12 Dez 2006 23:06

Beitrag von stuggi »

Hallo Werner,

Stimmt das funktioniert (fast).
Aufgefallen ist mir das dann in der Datei myyyymm.htm (m201001.htm) und aktuell.htm die Angaben in der Internet-Einstellungen > Tab-Fußzeile nicht richtig kodiert ist! (Kopfzeile?)


Grüße Chris
wolfram
Beiträge: 5
Registriert: 08 Nov 2013 18:19
Wohnort: Berlin
Kontaktdaten:

Beitrag von wolfram »

Werner hat geschrieben:Hallo,

zur Information:
in der Version V2.94.0 gibt es dazu eine neue Variable:

%ws_replaceforhtml[das ° ^ Ä ist nur ein test äöüß]%
Ergebnis:
das &deg; ^ &Auml; ist nur ein test &auml;&ouml;&uuml;&szlig;

Werner
Meine Webseiten werden bedingt durch die Masterseiten alle in utf-8 codiert.
custom.txt/html ist auch in utf-8 codiert. Im WSWIN > Internet > Einstellungen > html ist CHARSET auch utf.8 eingetragen, jedoch wird das Gradsymbol in der abgearbeiteten custom.html als Karo mit Fragezeichen dargestellt.

Mal ne dumme Frage: wo/wie baue ich das " %ws_replaceforhtml[x]% " oder " %ws_replaceforutf8[x]% " in meine custum.txt/costum.html ein? Kommen in den [] die aufzulesenden Variablen rein (%curval[1])? Oder wie oder was? Danke für die Hilfe schon mal
Antworten