Umlaute like ä,ö,ü,ß,ÿ,€, etc in z.b. ä verwandeln


  • höcki
  • 2600 Aufrufe 13 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Umlaute like ä,ö,ü,ß,ÿ,€, etc in z.b. ä verwandeln

    hi @ all!

    ich habe da ein brillantes werk von molleonline, der jetzt leider nicht mehr an board ist, und vll kennt es hier jemand:

    die alte redirektsite der roadrunner united crew... sie ist jetzt in den besitzen der leuten, die sie brauchen / brauchten, und dient zur selben sache, wie vorher!

    hier der neue link: klick

    leider gibt es da ein problem:
    wenn ich einen pub da eintrage etc dann sieht das so aus:
    hosting.freesoft-board.to/file…2de1b2d4df86266058784.jpg

    wenn ich den link dann verteilen würde, sieht die ausgabe so aus:
    hosting.freesoft-board.to/file…fc61a90c4d4dc35b92d19.jpg

    ich hoffe ihr könnt mir helfen, hab schon alles mögliche gegooglet etc...hab nix gefunden!

    ahja falls sich jetzt einer nicht auskennt: die umlaute sollten bei der ausgabe sein wie bei der eingabe ;)

    lg höcki
  • Das liegt in den meisten fällen an der fehlenden Codepage-Info in der gerenderten HTML Seite mit dem Formular. Wenn dann das Formular gepostet wird, kann der der Server nur eine Vermutung über die Codepage anstellen - und in deinem Fall passt das nicht.
    Man fährt i.d.R. am besten mit UTF-8. Damit kommen PHP und Java Server problemlos klar und Deutsche Umlaute sowie viele ander stellen kein Problem dar. Alternativ für Deutsch geht auch ISO8859-1 oder CP1250. Folgendes in den HTML Headern einfügen, um die Codepage zu definieren:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
    <HTML>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    :
    :
    :
  • danke für deine antwort, hättest du aber in den quelltext geschaut würdest du das sehen:

    HTML-Quellcode

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <meta http-equiv="expires" content="0" />
    6. <meta name="robots" content="noindex, nofollow" />
    7. <title>Dantes - Redirect</title>
  • Hi,
    ich weiß zwar nicht, ob es dir hilft, aber hier

    Quellcode

    1. function htmlentities(str) {
    2. var output = '';
    3. for(var i=0;i<str.length;i++) output += '&#'+str[i].charCodeAt(0)+';';
    4. return output;
    5. }

    8|

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • BrokenSword:

    danke für deine hilfe! hab das mal in den <head> bereich eingefügt in <?php ?> und dann spuckt es folgende meldung aus:

    Quellcode

    1. Parse error: syntax error, unexpected ')', expecting '&' or T_VARIABLE in /nfs/extra/r/re/.../wwwroot/index.php on line 19


    hoffe ihr könnt mir weiterhelfen, oder is das java?

    lg höcki

    edit: habs dann in java script reingemacht und es gibt keine fehler, bis auf die umlaute :/

    hoffe ihr könnt mir noch mehr helfen!

    ps: ÿ sollte auch umgewandelt werden!
  • Wenn man den html editor phase 5 verwendet (syntax erkennung auch von java/java script und andere) kann man einstellen, das er beim speichern der datei alles umwandelt. kannst also im editor öäü und so weiter schreiben, in der datei ist es dann &ouml; etc.

    man kann auch einstellen dass er es beim öffnen wieder in öü umwandeln soll oder es bei der verändertten variante lassen soll.

    diese möglichkeit gibts bestimmt auch in anderen editoren...
    There are 10 kind of people: Those who understand binary code, and those who don't.
  • Nochmal zur Verständigung, die Daten werden in der Datenbank abgespeichert und an anderer Stelle wieder ausgelesen und angezeigt?

    An welcher Stelle geschieht der Fehler der Umlaute bzw. Sonderzeichen? Werden sie in der Datenbank richtig angezeigt?

    Hast Du die JS Funktion von Broken Sword mit den Formularfeldern als Parameter auch aufgerufen oder nur in den Quelltext kopiert? - man weis ja nie...

    Guardian

    edit: vv beantworte bitte alle meine Fragen
    1. Sind die Umlaute richtig in den Spalten der Datenbank eingetragen? - phpmyadmin zum Nachsehen
    2. Hast Du die Javascript Funktion von Broken Sword auch aufgerufen oder nur in den Quelltext kopiert?
  • ist die Datenbank auf utf8 gestellt?

    sonst probier mal:

    PHP-Quellcode

    1. mysql_query('SET character_set_client = utf8');
    2. mysql_query('SET character_set_results = utf8');
    3. mysql_query('SET character_set_connection = utf8');


    am Anfang des PHP files sollte folgendes stehen:

    PHP-Quellcode

    1. header('Content-Type: text/html; charset=utf-8');


    oder schau dir mal die funktionen utf8_encode / utf8_decode an