Seite 1 von 2

Zeichensatz auf UTF-8 ändern?

Verfasst: 19 Jan 2009 11:46
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

Verfasst: 20 Jan 2009 04:34
von Holli
Internet/Einstellungen/HTML rechts oben utf-8 eingetragen?

Verfasst: 20 Jan 2009 13:00
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

Verfasst: 20 Jan 2009 16:32
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.

Verfasst: 20 Jan 2009 17:48
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

@rolsch und @Canada-John

Verfasst: 20 Jan 2009 23:36
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

Verfasst: 20 Jan 2009 23:59
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

Verfasst: 21 Jan 2009 00:08
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

Verfasst: 21 Jan 2010 21:23
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"?

Verfasst: 22 Jan 2010 00:31
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

Verfasst: 22 Jan 2010 07:19
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.

Verfasst: 22 Jan 2010 21:02
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.

Verfasst: 23 Jan 2010 21:20
von Werner
@Gerhard,

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

Werner

Verfasst: 24 Jan 2010 09:35
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

Verfasst: 29 Apr 2014 07:56
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