Sonderzeichen?!

  • geschlossen

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 ()

  • 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^^
    Neulinge * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion* IRC * Teamspeak * 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 ;)

    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
  • 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.
    Neulinge * Forenregeln * F.A.Q. * Lexikon
    Suchfunktion* IRC * Teamspeak * 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)