Forrest: Umlaute in Links --- IE macht's, Firefox nicht

Alles, was den Apache betrifft, kann hier besprochen werden.

Forrest: Umlaute in Links --- IE macht's, Firefox nicht

Postby thomscheiner » 14. April 2005 12:48

Problem mit automatischer Linkgenerierung im Apache Forrest Framework aus XML
Enthalten automatisch erzeugte seiteninterne Links Umlaute, so führt Firefox (1.0.2) keinen Sprung dorthin aus; im IE klappt's aber.

BSP.:
Code: Select all
<p>Mehr zum Thema <a href="#Modalit%E4t">Modalit&auml;t</a></p> <!-- COMMENT: Der Link, auf den man klicken können soll -->

<p>blablabla</p> <!-- COMMENT: Dem Link folgt auf derselben Seite weiterer Kram, ... -->

<a name="Modalit%E4t"></a> <!-- COMMENT: ... ehe die Ziel-Adresse des obigen Links folgt. -->

<p>Unter Modalit&auml;t versteht man blablabla</p>


AUSGANGSSITUATION:
Aus 'title' Elementen wird automatisch ein seiteninterner Link fuer
das Inhaltsverzeichnis und fuer den Ankerlink generiert.
Ausgelesen wird der 'title'-Wert einfach mit einer
'value-of-select="title"' Anweisung. Im xml-File werden
als PCDATA Umlaute benutzt.

ERGEBNIS im Quellcode: bei der Transformation in HTML entsteht:
Link:
Code: Select all
<a href="#Modalit%E4t">Modalit&auml;t</a>

Anker:
Code: Select all
<a name="Modalit%E4t"></a>

D.h. der Element-Wert wird richtig dargestellt mit der entsprechenden entity reference, beim Link wird allerdings der hexadezimale Wert fuer den Umlaut interpretiert. Ich glaube, dass das der normale Output ist.
Aber: Im Firefox sind die Links tot; im IE funktioniert das.

Thema ISO-8859-1: Ich habe bereits allen Dateien das entsprechende Charset zugewiesen. Das aendert aber nichts am Ergebnis.

Wo kann ich noch ansetzen???

Danke für Hinweise und Ideen,
Thom
thomscheiner
 
Posts: 4
Joined: 14. April 2005 09:54
Location: München

Postby deepsurfer » 14. April 2005 13:13

kommt beim Firefox die Meldung "Site ist kein Registriertes Protokoll "??
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Keine Fehler; hier bessere Beschreibung

Postby thomscheiner » 14. April 2005 14:59

Nein, es gibt gar keine Fehlermeldungen.
Da steht dann etwa (siehe Beispiel im ersten Beitrag) auf der Site im Browser:
Mehr zum Thema Modalität

Ich kreiere folgende Situation: Mauszeiger liegt über dem Link "Modalität" (siehe oben).
Ergebnis im IE: Mauszeiger-Symbol "Hand", Status-Leiste zeigt Ziel-Name, und ein Klick auf den Link führt zum Ziel.
Ergebnis im FF: Mauszeiger-Symbol "Hand", Status-Leiste zeigt Ziel-Name, ein Klick auf den Link bewirkt aber nichts (auch keine Fehlermeldung).

Als ich noch UTF8 verwendet hatte, hat FF bei Umlaut-Links in der Status-Leiste gar nichts angezeigt (und ist auch nicht gesprungen); nun verwende ich ISO 8859-1, und da zeigt er in der Status-Leiste zumindest was an.

Alle anderen Links (ohne Umlaute) funktionieren in beiden Browsern normal.
thomscheiner
 
Posts: 4
Joined: 14. April 2005 09:54
Location: München

Postby deepsurfer » 14. April 2005 15:14

schau mal in der httpd.conf nach was du dort als AddDefaultCharset stehen hast.

Code: Select all
# Specify a default charset for all pages sent out. This is
# always a good idea and opens the door for future internationalisation
# of your web site, should you ever want it. Specifying it as
# a default does little harm; as the standard dictates that a page
# is in iso-8859-1 (latin1) unless specified otherwise i.e. you
# are merely stating the obvious. There are also some security
# reasons in browsers, related to javascript and URL parsing
# which encourage you to always set a default char set.
#
AddDefaultCharset ISO-8859-1



Gegebenfalls mal ISO-8859-1 auf WINDOWS-1251 stellen.
(zumindest mal testen)
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby thomscheiner » 14. April 2005 15:43

Hallo, deepsurfer,
Vielen Dank für Deine Anteilnahme!
Vielleicht bin ich im falschen Forum gelandet, denn: Ich habe gar nicht einen reinen Apache installiert, sondern Apache Forrest. Die httpd.conf hab ich nicht.
Um von UTF-8 auf ISO zu wechseln, habe ich in der Datei
\apache-forrest-0.6\src\core\context\sitemap.xmap

den Eintrag
<encoding>UTF-8</encoding>
geändert auf ISO.
Nun hab ich das geändert auf den von Dir vorgeschlagenen Windows-1251; es funktioniert auch nicht. Da werden in der Status-Zeile anstelle der Umlaute nun wieder andere Zeichen angezeigt (Mju, Alpha, ...), und die Links verhalten sich noch immer tot.
FF erkennt den Zeichensatz schon richtig: Unter Menü "Ansicht" wird der Windows-1251 als der gerade aktive angezeigt.
Tricky!
thomscheiner
 
Posts: 4
Joined: 14. April 2005 09:54
Location: München

Postby deepsurfer » 14. April 2005 16:33

Ich habe gar nicht einen reinen Apache installiert, sondern Apache Forrest


hhhmmmm, beim überfliegen der forrest.apache.org kam es mir so vor das dies ein zusatz zum apachen als solches ist.
Das es ein eigenständiges "Ding" ist, wird mir nun auch klarer :shock:

Dummerweise ist in den FAQs keinerlei hinweise auf fehler zu verschiedenen Browser enthalten :(

versuch mal folgendes im sitemap.map:
<encoding>UTF-8</encoding>
wie gehabt wo zumindest eine reaktion auftaucht.

zusätzlich im HTMLcode der Webpage trägs du im headerbereich
Code: Select all
<HTML>
<header>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
....
...
...
</header>
<BODY>
.....
.....
.....

wenn ich mich jetzt nicht irre, kannst du diesen wert in der XML datei ablegen die dir die webpage zusammenbaut zum anzeigen.
Da ich den forrest nicht hier habe hoffe ich das du weisst was ich meine.

Normalerweise verarbeitet der forrest wohl nur text/plain , aber vielleicht kannst du mit dieser Anweisung ihn etwas umbiegen.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian


Return to Apache

Who is online

Users browsing this forum: No registered users and 6 guests