Sonderzeichen?!

  • geschlossen

  • Ryckmaster
  • 1147 Aufrufe 10 Antworten

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

  • Sonderzeichen?!

    Hallo leute,

    ich sitze gerade dabei und mache eine aufgabe die ich aufbekommen habe.
    Es geht um ein Schwarzes-Web-Brett. (Der eine oder andere kennt es vielleicht)
    So nun habe ich daten in meiner DB angelegt und auf der Index.php anzeigen lassen. War ja kein problem bis auf das jetzt darstellungsprobleme mit Sonderzeichen sind.
    In der DB gibt es Rubriken wie z.b. Büchen oder Fahrräder.
    Ich möchte diese auch so in der DB drinne lassen, es soll aber auf der seite richtig angezeigt werden, weiß aber nicht wie?
    Kann mir jemand helfen?

    LG
    html>
    <head><title>Schwarzes Web Brett</title></head>
    <body>
    <b>Willkommen beim Schwarzen Web-Brett</b><br>
    ==============================<br><br>
    <a href="./anzeige_aufgeben.php">Anzeige Aufgeben</a><br><br>
    <?
    $db_server='localhost';
    $db_user='root';
    $db_passwort='';
    $db_name='webbrett';

    //mit der Datenbank verbinden:
    $verbindung=mysql_connect($db_server,$db_user,$db_passwort);
    if (!verbindung)
    die("Der Server kann nicht erreicht werden.");
    if(!mysql_select_db($db_name,$verbindung))
    die("Die Datenbank kann nicht angesprochen werden.");

    //Alle Rubriknummer und bezeichnungen holen
    $query="select rubriknummer,rubrikbezeichnung
    from rubrik order by rubrikbezeichnung";
    $ergebnis=mysql_query($query,$verbindung);
    if(!ergebnis)
    echo mysql_error();


    $i=0;
    while($zeile=mysql_fetch_array($ergebnis))
    {
    $rubriknummer[$i]=$zeile[0];
    $rubrikbezeichnung[$i]=$zeile[1];
    $i++;
    }
    mysql_free_result($ergebnis);

    //Ausgabe der Links zu den Anzeigen einer Rubrik
    echo"<b>Anzeigen lesen:</b><br>";
    for($i=0;$i<count($rubrikbezeichnung);$i++)
    echo"<a href=\".anzeige_lesen.php?rubriknummer=
    $rubriknummer[$i]\">$rubrikbezeichnung[$i]</a><br>";
    ?>
    </body>
    </html>

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Ryckmaster ()

  • Hi,
    meinst du jetzt, du suchst sowas, was die Funktion htmlentities realisiert?
    Oder werden einfach komische Zeichen anstatt ä,ü oder ö ausgegeben?
    Dann brauchst einfach htmlentities vor dem Einspeisen in die DB benutzen bzw. utf8_encode

    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.
  • Nutz doch die Funktion

    PHP-Quellcode

    1. htmlentities($string);

    am besten bevor du's in die DB speicherst (als kleinen Tipp: nimm zusätzlich noch:
    [code=php]mysql_escape_string($string);[code=php] ;))

    // EDIT: ups, hab Brokens Post nicht ganz gelesen^^
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)
  • Dann stell das Charset deiner MySQL-DB einfach um, wenn du nichts am Script verändern willst:
    MySQL :: MySQL 5.0 Reference Manual :: 9.1.4 Connection Character Sets and Collations
    Ergo

    Quellcode

    1. SET NAMES 'iso-8859-1'
    2. SET CHARACTER SET iso-8859-1


    Gruß
    Broken Sword

    P.S.
    Du kannst das auch via Programmen ala phpMyAdmin einstellen ;)
    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.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword ()

  • Also:
    Script kann verändert werden, aber nicht die DB.
    Also suche ich eine möglichkeit wie ich im scribt festlege das anstatt wie in der db Bücher, Buecher steht.
    Verstehst?
    Einfach aus Umlaute, die lange schreibweise erstelle.
    PHPMyadmin darf nicht genutz werden. Is halt ein Projekt =)

    lg
  • Na, dann mach doch einfach, wie gesagt, vor dem Einspeisen htmlentities erstellen und dann erstellst du einfach eine update.php, in der du alle Daten ausliest, die DB leerst und dann wieder alles einspeist (mit htmlentities)

    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.
  • Ryckmaster schrieb:

    Also suche ich eine möglichkeit wie ich im scribt festlege das anstatt wie in der db Bücher, Buecher steht.
    Verstehst?
    Verstehen schon, nur ist dies für mich zwar totaler Blödsinn, aber (ich bin ja nicht so^^):

    PHP-Quellcode

    1. $string = str_replace("ü", "ue", $string);
    2. $string = str_replace("ä", "ae", $string);
    3. $string = str_replace("ß", "ss", $string);
    4. $string = str_replace("ö", "oe", $string);
    5. $string = str_replace("ü", "ue", $string);


    Ansonsten, mach's wie BrokenSword geschrieben hat: schreib dir eine PHP Datei, die alles(!) ausliest, die Funktion htmlentities() ausführt und danach die DB leert (TRUNCATE) und wieder neu reinschreibt.
    Rechteübersicht * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion * Chat * User helfen User
    Patrioten reden nur davon, dass sie für ihr Land sterben, niemals davon, dass sie für ihr Land töten. (Bertrand Russell)