kostenloser Webspace werbefrei: lima-city


Probleme mit Umlauten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    simon-d

    Kostenloser Webspace von simon-d

    simon-d hat kostenlosen Webspace.

    Hallo!
    Ich habe ein Problem, nämlich dass Umlaute nach Abfrage nicht korrekt, sondern als � ausgegeben werden.
    Hier mein Code:
    <?php header("Content-Type: text/html; charset=UTF-8"); ?>
    
    <!DOCTYPE html>
    <html>
    <head>
    	<title>Titel</title>
    	<meta charset="UTF-8">
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <head>
    <body>
    <?php
    $verbindung = mysqli_connect('mysql.lima-city.de', '****', '****', '****');
    $umstellen = "SET character_set_results = 'UTF8', character_set_client = 'UTF8', character_set_connection = 'UTF8', character_set_database = 'UTF8', character_set_server = 'UTF8'";
    $abfrage = "SELECT * FROM C";
    $ergebnis = mysqli_query($verbindung, $abfrage);
    while($zeile = mysqli_fetch_object($ergebnis)) {
    	$ersetzen = array("'", " ");
    	$championkompatibel = str_replace($ersetzen, "", "$zeile->C");
    	echo "<li><a href=\"#" . $championkompatibel . "\">\n<img src=\"CIcons/" . $championkompatibel . ".png\" class=\"ui-li-thumb\">\n<h2>" . $zeile->Champion . "</h2>\n<p>" . $zeile->Satz . "</p>\n</a></li>\n";
    }
    ?>
    </body>

    Und die Datenbank: https://www.diigo.com/item/image/44qf8/o1un
    Alles auf UTF-8... Was soll ich noch probieren??

    MfG. Simon D.

    Ah ja...

    .htaccess:
    AddDefaultCharset utf-8


    Firefox sagt, dass die Seite UTF-8-kodiert ist.

    EDIT: Hab es gelöst! Man muss um die Ausgabe ein
    utf8_encode()
    setzen!

    // EDIT by hackyourlife: Passwort zensiert

    Beitrag zuletzt geändert: 11.7.2014 11:57:48 von hackyourlife
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi simon

    Noch kurz drei Denkanstösse:
    Ich würde das Passwort aus obigem Beispiel (jetzt sowieso da es gelöst ist) entfernen, da ansonsten mit diesen Angaben direkt auf deine Datenbank zugegriffen werden kann.

    Des weiteren schickst du den Befehl in $umstellen gar nicht an die Datenbank, vielleicht ist das auch das Problem (ich kann es leider nicht nachvollziehen, habe zwar dein Skript lokal kopiert aber in den gelisteten Datensätzen ist keiner mit einem Umlaut oder komischen Zeichen vorhanden).

    Und drittens:
    Bei mir hat es bis jetzt jeweils sehr gut funktioniert mit folgendem Initialkommando:
    SET NAMES utf8;


    Gruess
    Meron
  4. michaelkoepke

    michaelkoepke hat kostenlosen Webspace.

    Du kannst auch, um viel Arbeit zu sparen, in deiner SQL-Verbindung ein mysql_set_charset('utf8',$verbindung) einsetzen, somit wird jedes mal deine Abfrage autiomatisch in UTF-8 umgewandelt.
    $verbindung = mysqli_connect('mysql.lima-city.de', '****', '****', '****');
    mysql_set_charset('utf8',$verbindung);
    ...
    MFG Micha
  5. Alternativ könntest du auch die Darstellung via HTML wählen, oder nicht?!

    ä -> &auml;
    Ä -> &Auml;
    ö -> &ouml;
    Ö -> &Ouml;
    ü -> &uuml;
    Ü -> &Uuml;
    ß -> &szlig;
    € -> &euro;
    & -> &amp;
    < -> &lt;
    > -> &gt;
    “ -> &quot;
    © -> &copy;
    • -> &bull;
    ™ -> &trade;
    ® -> &reg;
    § -> &sect;
    | -> |
  6. blog-2014 schrieb:
    Alternativ könntest du auch die Darstellung via HTML wählen, oder nicht?!

    ä -> &auml;
    Ä -> &Auml;
    ö -> &ouml;
    Ö -> &Ouml;
    ü -> &uuml;
    Ü -> &Uuml;
    ß -> &szlig;
    € -> &euro;
    & -> &amp;
    < -> &lt;
    > -> &gt;
    “ -> &quot;
    © -> &copy;
    • -> &bull;
    ™ -> &trade;
    ® -> &reg;
    § -> &sect;
    | -> |


    sorry blog-2014, aber völlig falscher Ansatz:
    Wenn die Umlaute als Fragezeichen dargestellt werden, dann wird ein als ISO 8859-1 kodiertes Dokument als UTF-8 interpretiert.
    erwartete Ausgabe: ä ö ü
    wirkliche Ausgabe: � � �
  7. dunkeltuten schrieb:
    sorry blog-2014, aber völlig falscher Ansatz:
    Wenn die Umlaute als Fragezeichen dargestellt werden, dann wird ein als ISO 8859-1 kodiertes Dokument als UTF-8 interpretiert.
    erwartete Ausgabe: ä ö ü
    wirkliche Ausgabe: ? ? ?


    Danke dir für den Einwand! Habe gerade mal an einer Testdatenbank das ganze durchgespielt und mit meinem Ansatz nichts erreicht.
    Die Fragezeichen waren noch da.
    Abhilfe brachte der Ansatz von simon-d mit der utf8_encode() / utf8_decode() Funktion.

    LG
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!