Gunnar Bittersmann: SSI-Variable mit Umlaut

Hi,
Warum funzt[tm] das nicht?

<!--#set var="foo" value="&Auml;" -->
<!--#echo var="foo" -->

Es erscheint kein "Ä", sondern ein "?" (auch im Quelltext).

Live long and prosper,
Gunnar

--
„Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
  1. Tag Gunnar.

    Warum funzt[tm] das nicht?
    <!--#set var="foo" value="&Auml;" -->
    <!--#echo var="foo" -->

    SSI kennt von Haus aus keine HTML-Entities, du musst also explizit angeben, dass da welche sind. Folgendes sollte funktionieren:

    <!--#set var="foo" value="Ä" -->
    <!--#echo encoding="entity" var="foo" -->

    Siechfred

    1. Folgendes sollte funktionieren:

      <!--#set var="foo" value="Ä" -->
      <!--#echo encoding="entity" var="foo" -->

      Siechfred,
      Leider nicht.

      Live long and prosper,
      Gunnar

      --
      „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
      1. Tag Gunnar.

        <!--#set var="foo" value="Ä" -->
        <!--#echo encoding="entity" var="foo" -->
        Leider nicht.

        Alternativvorschlag:
        <!--#set var="foo" value="&Auml;" -->

        Ansonsten kann es sein, dass du als Zeichensatz nicht ISO-8859-1 verwendest (siehe Erläuterungen zu mod_include)? Und ist die Apache-Version wenigstens 1.3.12? Meine Testseite jedenfalls funktioniert tadellos.

        Siechfred

        1. Meine Testseite jedenfalls funktioniert tadellos.

          Siechfred,
          Da lese ich beide Male "ÄÖÜäöüß" im generierten Quelltext.

          Ich hätte aber gern, dass "Auml;" im generierten Quelltext steht.

          Lässt sich das "Auml;" im Include nicht irgendwie maskieren, so dass es serverseitig nicht in etwas anderes umgewandelt wird?

          Live long and prosper,
          Gunnar

          PS. Das ist keine Lösung, sondern ein mieser Würgaround:
          <!--#set var="foo" value="&" --><!--#set var="bar" value="Auml;" -->
          <!--#echo var="foo" --><!--#echo var="bar" -->

          --
          „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
          1. Tag Gunnar.

            Da lese ich beide Male "ÄÖÜäöüß" im generierten Quelltext.
            Ich hätte aber gern, dass "Auml;" im generierten Quelltext steht.

            Das dürfte nicht gehen, die Anzeige ist ausnahmsweise mal WYSIWYG: noch 'ne Testseite. Bei deinem Vorhaben scheint wohl die Grenze von SSI erreicht und du wirst m.E. ein externes Script deiner Wahl bemühen müssen, das die Ausgabe so liefert, wie du sie haben möchtest.

            Siechfred

            1. Ich hätte aber gern, dass "Auml;" im generierten Quelltext steht.

              "&Auml;" meinte ich natürlich.

              Das dürfte nicht gehen,

              Siechfred,
              Es geht mit der von mir erwähnten Krücke und dem von dir erwähnten encoding, allerdings nicht encoding="entity"; sondern, damit der Server aus "&" nicht "&amp;" macht, encoding="none".

              <!--#set var="foo" value="&" --><!--#set var="bar" value="Auml;" -->
              <!--#echo encoding="none" var="foo" --><!--#echo var="bar" -->

              Ich halte das für äußerst unelegant und wollte das eigentlich vermeiden …

              Live long and prosper,
              Gunnar

              --
              „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
              1. Tag Gunnar.

                Es geht mit der von mir erwähnten Krücke und dem von dir erwähnten encoding, allerdings nicht encoding="entity"; sondern, damit der Server aus "&" nicht "&amp;" macht, encoding="none".

                Ja, wenn ich die Doku zu mod_include richtig verstanden habe, ist encoding="entity" die Standardeinstellung.

                <!--#set var="foo" value="&" --><!--#set var="bar" value="Auml;" -->
                <!--#echo encoding="none" var="foo" --><!--#echo var="bar" -->
                Ich halte das für äußerst unelegant und wollte das eigentlich vermeiden …

                Tja, es scheint so, als ob encoding="entity" die Umlaute ignoriert. Mit anderen HTML-Zeichen funktioniert es: http://test.anaboe.net/ssi_test.shtml. Die Einstellung scheint also nur die HTML-eigenen Zeichen zu maskieren.

                Siechfred

  2. <!--#set var="foo" value="&Auml;" -->
    <!--#echo var="foo" -->

    Es erscheint kein "Ä", sondern ein "?" (auch im Quelltext).

    Nachtrag: Es ist ein "?" in der Quelltext-Anzeige des Firefox, in der des IE ist gar kein Zeichen. Der IE stellt auch kein Zeichen im Viewport dar.)

    value="&"      → Es kommt "&" in den Quelltext
    value="&A;"    → Es kommt "&A;" in den Quelltext (Die Entity A gibt’s ja auch nicht.)
    value="&Auml;" → Leider kommt nicht "&Auml;" in den Quelltext, sondern das wird in irgendwas umgewandelt. :-(

    Live long and prosper,
    Gunnar

    PS. Ich möchte kein "Ä" im Quelltext der Include-DAtei verwenden.

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)