Problem mit Links und/oder Umlauten

  • Hallo Forum


    Ich hab da mal ein ungewöhnliches Problem. na eigentlich gleich 2. Oder doch nur eins ?

    Ok, hab einen .html und eine .php auf meinen Server. Soweit gut

    Die umgebung in der das ganze laufen soll befindet sich in einer Domäne die ich nicht von ausserhalb aufrufen kann. Wohl aber Intern.

    Problem 1

    Starte ich die .html in der Domäne gehen zwar Die Links innerhalb der html und werde auch richtig angezeigt, Aber einiges an Text (.txt) das über die php geholt wird und bearbeitet werden kann, hat dann cryptische zeichen anstelle von Umlauten.

    Problem 2 Starte ich die .html jetzt direckt vom Server werden zwar alle Umlaute richtig dargestellt, aber einiger der Links können dann nicht mehr aufgerufen werden.


    Zur info

    In der .html ist der gesammte aufbau der Seite mit allen einzelheiten. Die .php ist nur ein Formular, das eine Text erstellt (.txt)

    Wie könnte man das Problem beheben ?


    MfG

    Levitron

  • Vieleicht zeigst du uns mal die Datein.

    Dann sollte in der Html Datei im heade das stehen

    Code
    1. <meta charset="utf-8">


    aber einiger der Links können dann nicht mehr aufgerufen werden.

    haben die Links Sonderzeichen ?

    Dann kommt es auch drauf an wie man es abspeichert und und so weiter.

    Mit den kram haben sich schon viele Leute ausgek....

    Ich suche mal Links die dir weiter helfen könnten, weil ich kann das sowieso nicht erklären

  • Also das mit dem utf-8 ist ja drin, das funktioniert Serverseitig auch, aber einige der Links (die im übrigen eine IP adresse aufrufen, die auch nur Intern abgerufen werden kann) gehen dann nicht.

    Starte ich die .html Lokal auf dem Rechner (in der Firma) Gehen die Links ohne Probleme, nur die Umlaute sind dann Cryptisch.

    Wie schon beschrieben ist es immer die Gleiche html.


    Was ich mir vorstellen könnte, wär die html in 2 teile zu splitten, Eine mit den lokalen Links für den Lokalen rechner, Eine Extern auf dem Server für den Rest, leider hab ich da keinen Plan wie ich das umsetzen soll. zumal die Sachen die Intern abgerufen werden, in der gleichen Oberfäche erscheinen sollen


    Den Program Code hier jetzt hier zu zeigen, ist jetzt etwas unangenehm, da dort auch einige interne Sachen der Firma drin sind, die nicht unbedingt jeder sehen soll.


    MfG

    Levitron

  • Also das mit dem utf-8 ist ja drin, das funktioniert Serverseitig auch

    Ja, serverseitig ist aber erstmal nur ein Aspekt von vielen und dann stellt sich auch die Frage: Was heißt serverseitig?

    Woran machst Du fest, dass es serverseitig funktioniert? Hast Du den HTTP Header angesehen? Das Encoding der Dateien?

    Du hast an irgendeiner Stelle ein abweichendes Encoding, das musst Du finden...


    Vielleicht hilft dieser Link eher weiter: https://www.php-rocks.de/thema…ie-utf8-verschw-rung.html

  • Also das mit dem utf-8 ist ja drin, das funktioniert Serverseitig auch, aber einige der Links (die im übrigen eine IP adresse aufrufen, die auch nur Intern abgerufen werden kann) gehen dann nicht.

    Starte ich die .html Lokal auf dem Rechner (in der Firma) Gehen die Links ohne Probleme, nur die Umlaute sind dann Cryptisch.

    Wie schon beschrieben ist es immer die Gleiche html.


    Was ich mir vorstellen könnte, wär die html in 2 teile zu splitten, Eine mit den lokalen Links für den Lokalen rechner, Eine Extern auf dem Server für den Rest, leider hab ich da keinen Plan wie ich das umsetzen soll. zumal die Sachen die Intern abgerufen werden, in der gleichen Oberfäche erscheinen sollen


    Den Program Code hier jetzt hier zu zeigen, ist jetzt etwas unangenehm, da dort auch einige interne Sachen der Firma drin sind, die nicht unbedingt jeder sehen soll.


    MfG

    Levitron

  • Hey,


    hat es villt. mit dem Charset der Textdatei zu tun? Oder steht dies so wie du es ausgibst in der Textdatei drin?

    Ich hatte schonmal auch einmal dieses Problem und es hat nichts bis auf dieses geholfen bei mir:

    PHP
    1. $input = ; // inhalt der Textdatei
    2. $input = html_entity_decode($input, ENT_QUOTES, 'UTF-8');


    Um dir weiterhelfen zu können brauchen wir den Codeteil an der Stelle wo das Problem ist. Am besten wo du die Textdatei einbindest und die weiteren Vorgänge dieses Prozesses. Wenn es geschäftliche Daten enthält entferne diese und erstelle ein Beispielprozess mit deinem Code.


    Grüße,

    Stef

  • So danek erstmal. das Problem wär beseitigt bleibt noch das mit den links die nicht angezeigt werden.


    Nochmal zu diesen Problem

    Es sind links vorhanden die eine IP adresse aufrufen. Diese können intern normal abgerufen weden. Heisst, wenn ich die reine HTML auf den entsprechenden Rechner starte (im Browser) geht es.

    Wenn ich es über eine URL Starte (wo die HTML auf einen Webserver ist) geht es nicht.

    Da bleibt das problem das jeder die HTML benutzen müsste. Aber auch ein weiteres Problem entsteht dabei. Wir haben kleinere Rechner auf denen ein art linux läuft das kann halt nur einige Programme mitt denen Wir arbeiten und der zugriff aufs Internet. Dort kann ich ja keine HTML datei Speichern und somit auch nicht starten.

    Deshalb ja eine Webanwendung die das bewerkstelligen könnte

    Hoffe das es jetzt etwas verständlicher beschrieben ist.


    MfG

    Levitron


    PS: danke für die Hilfe von allen mit dem Umlaut Problem

  • Hey,


    freut mich, dass du das Umlauteproblem lösen konntest. An was lag es ?


    Wie bereits geschrieben können wir dir hier ohne Code nicht richtig helfen. Bitte poste einen Beispielcode der dein Problem zeigt.

    Zu Linux: Mit dem kenne ich mich zwar nicht aus aber in Linux gibt es ja auch Browser. Dann können dort doch auch HTML Dateien im Browser geöffnet werden.


    Grüße,

    Stef

  • Es war ein schreibfehler bzw Buchstabedreher.


    Hier mal der komplette Code. An den stellen, inden steht " Hier steht ein link der Funktioniert" hab ich die Links etfernt die ohne belang sind, weil diese eben ohne Probleme Funktionieren, Egal ob ich die an einen Windows Rechner direckt mit der html Starte oder die Webadresse aufrufe.

    Die Links die im Code noch vorhanden sind, werde automatisch aufgerufen. Intern in der Firme funktionieren die einwandfrei solange ich die html direkt starte. Starte ich das ganze über die Webadresse funktionieren diese nicht.

    Aber denau das ist der punkt, damit ich von allen Rechner in der Firma das alles sehen kann, kann ich nur per Webadresse aufrufen, da ich die html nicht auf die Linux rechner kopieren kann (Lassen die Geräte leider nicht zu)


    Ich hoffe das hilft jetzt etwas weiter

    Ich musste leider den Gesammten code in einer text datei packen, da ich hier nur 10000 Zeichen zur verfügung habe.


    MfG

    Levitron

    Der gesammte Code

  • Du suggerierst dem Browser, dass er ein HTML5-Dokument erhält:

    HTML
    1. <!doctype html>

    übermittelst dann aber essentielle Header-Daten in HTML4 Konvention:

    HTML
    1. <meta name="V31" http-equiv="charset" charset="UTF-8" />

    Das vermag nicht zwingend Dein Umlautproblem zu sein, weil die Browser das wohl schaffen, aber richtig wäre es so:

    HTML
    1. <meta charset="utf-8">
  • Hey,


    du hast nun mit uns den HTML-Teil geteilt. Mit diesem können wir nichts anfangen. Wir brauchen deine PHP dazu damit wir schauen können wie du die Daten aus der Textfile verarbeitest. Denn genau dort liegt bestimmt der Fehler.


    Zu deinem HTML-Teil: Du verwendest viel veralteten CSS-Code und paar verlatete HTML-Elemente wie <font>


    Warum dies intern geht und über die IP nicht, kann ich dir nicht sagen. Das ist sicher ein Intranet. Mit Intranets kenne ich mich nicht aus. Da muss ich passen.


    Grüße,

    Stef

  • Wie schon gesagt, der Teil mit den Umlauten funktioniert ja inzwischen, auch mit der php.

    Das Problem sind die IP adressen die ich nur intern abrufen kann. Und ja es ist ein Intranet.

    Ich hab auch schon einen ITler bei uns im Betrieb gefragt welche möglichkeiten ich da hätte, aber die antwort lässt auf sich warten.


    MfG

    Levitron

  • Aso okay. Dann habe ich dich missverstanden.


    Da kann ich dir nicht weiterhelfen. Dann bleibt dir nichts anderes übrig auf ihn nochmal zu zugehen, auf seine Antwort zu warten oder Personen zu fragen die sich damit auskennen.


    Wünsche dir viel Glück beim Lösen des Problems.


    Grüße,

    Stef