Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16
  1. #1
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    UTF8 Daten in MySQL

    Hallo,

    ich habe ein Problem mit dem Charset UTF8 in Verbindung mit MySQL und PHP.
    Ich habe eine Tabelle angelegt mit DEFAULT CHARSET UTF-8 und Kollation utf8-general.
    Ich möchte nun Daten in die Datenbank einlesen.

    1. Über HTML-Formulare: Dazu habe ich Forms erstellt und die HTML-Seite hat auch Charset UTF-8 (einmal mit META & zusätzlich mit header(...) )

    Wenn ich diese Daten jedoch unbearbeitet in die Datenbank speichere und wieder auslese und in einer HTML-Seite mit Charset UTF-8 anzeigen möchte bekomme anstelle der Umlaute dieses Fragezeichen-Schild.
    Ich dachte ich kann die encode/decode Funktionen übergehen indem ich die Daten gleich so speichere und dann wieder in UTF-8 Seiten anzeige?

    Den MySQL-Befehl 'SET NAMES UTF8' habe ich auch versucht vor dem eigentlichen Query, ohne Erfolg.

    Vielen Dank schon mal für die Hilfe!
    greetz, Ralf...

  2. #2
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    Das sollte genauso klappen wie du es beschrieben hast. Wie kommen den die Daten in der DB an?

  3. #3
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Wie kann ich das rausfinden? Im phpMyAdmin werden die Umlaute korrekt dargestellt.
    Auch die Datensätze die ich direkt über das Admin eingegeben habe werden in der HTML-Seite korrekt dargestellt.
    Es wird dann wohl an der Seite mit dem Form liegen nehme ich an?

    Code:
    <?php
      	  header('Content-type: text/html; charset=UTF-8');
    ?>
     <head>
       <meta http-equiv="Content-Type" CONTENT="text/html;charset=UTF8">
    Das hab ich am Anfang stehen um die Seite in UTF-8 darzustellen.
    greetz, Ralf...

  4. #4
    Avatar von slosd
    slosd ist offline Kaiser
    registriert
    19-02-2006
    Beiträge
    1.359

    AW: UTF8 Daten in MySQL

    Ich weiß nicht, ob dass wesentlich ist, aber eigentlich gehört beim charset im META noch ein Bindestrich rein:
    Code:
    <meta http-equiv="Content-Type" CONTENT="text/html;charset=UTF-8">

  5. #5
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Danke für eure schnelle Hilfe!

    Leider hat der Bindestrich auch nix gebracht...

    Achso, moment - muss das ja noch beim Einlesen mit beachten...

    -

    Nein, hilft nicht, auch mit dem Bindestrich im Meta-Tag werden die Daten nicht als UTF8 in die DB gespeichert.
    Geändert von daWonderer (14-08-2007 um 10:09 Uhr)
    greetz, Ralf...

  6. #6
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    Wenn du die Seite im FF betrachtest kannst du im Kontextmenü "Seiteninformationen anzeigen" wählen und dort kannst du sehen welche Kodierung die Seite verwendet.

  7. #7
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Die Seite mit dem Formular hat UTF-8.

    Aber die Daten in der Datenbank scheinbar nicht. Muss man die komplette DATABASE auf UTF-8 umstellen?

    EDIT: Ein ALTER DATABASE zu Charset UTF8 hat auch nix gebracht. Die Seite welche die Daten darstellt ist auch in UTF-8.
    Geändert von daWonderer (14-08-2007 um 10:18 Uhr)
    greetz, Ralf...

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    Irgendwie scheinst du oft auf der Leitung zu stehen.

    1. Du gibst Daten ein
    2. Diese werden in die DB geschrieben
    3. phpMyAdmin zeigt diese richtig an
    4. deine Seite zeigt sie nicht richtig an

    und jetzt erzählst du mir den Charset der Seite zu Punkt 1, was soll wir damit anfangen? Wir brauchen die Information wo der Fehler auftritt.

  9. #9
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Zitat Zitat von ein schlauer Beitrag anzeigen
    und jetzt erzählst du mir den Charset der Seite zu Punkt 1, was soll wir damit anfangen? Wir brauchen die Information wo der Fehler auftritt.
    OK, auch die darstellende Seite ist in UTF-8...

    btw. die Seite mit dem Form hat ne Combobox die den Wert nach dem Speichern in der Datenbank anzeigt - aber auch mit dem Fragezeichen...
    greetz, Ralf...

  10. #10
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    Irgendwas von dem was du uns erzählst stimmt nicht, denn das kann dann alles so nicht sein.

  11. #11
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Zitat Zitat von ein schlauer Beitrag anzeigen
    Irgendwas von dem was du uns erzählst stimmt nicht, denn das kann dann alles so nicht sein.
    Das denke ich mir auch, aber ich habe es jetzt nochmal überprüft.

    die Tabelle:
    Code:
    CREATE TABLE `menuetext` (
      `Menu_ID` smallint(3) unsigned NOT NULL,
      `Lang_ID` tinyint(2) NOT NULL,
      `Name` varchar(64) NOT NULL,
      `Meta` varchar(255) NOT NULL,
      `updated` tinyint(1) unsigned NOT NULL,
      `LastUpdate` date NOT NULL,
      PRIMARY KEY  (`Menu_ID`,`Lang_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    die PHP-Seite mit dem Form:
    Code:
    <?php
    	session_start();
    	header('Content-type: text/html; charset=UTF8');
    ?>
    <html>
     <head>
       <meta http-equiv="Content-Type" CONTENT="text/html;charset=UTF-8">
     </head><body>
    <?php
    <snip...>
         // Combobox mit Datensätzen
          echo '<select name="Menu_ID">';
          echo '<option value="0">keine</option>';
          $q = 'SET NAMES utf8';
          get_query($q);
          $q = 'SELECT s.Menu_ID,Name FROM shopmenue s JOIN menuetext t ON s.Menu_ID=t.Menu_ID WHERE s.Parent_ID=0 AND t.Lang_ID='.$lang.' ORDER BY Posi';
          $parRes = get_query($q);
          for($i=0;$i<mysql_num_rows($parRes);$i++)
          {
           $parMen = mysql_fetch_row($parRes);
           <snip...>
          }
    <snip...>
         // INSERT-Teil
         $q = 'SET NAMES utf8';
         get_query($q);
         $q = "INSERT INTO menuetext VALUES('".$id."',".$_POST['Lang_ID'].",'".$_POST['MenuName']."','".$_POST['MenuMeta']."',0,'".$today."')";
         get_query($q);
         echo 'Men&uuml;punkt wurde eingef&uuml;gt...';
    <snip...>
    greetz, Ralf...

  12. #12
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Okay okay. Du hattest natürlich recht!

    Den wichtigsten Teil im letzten Post hab ich gesnippt.

    Hatte dort noch das 'utf8_decode' drin in der Ausgabe!

    Danke nochmal!
    greetz, Ralf...

  13. #13
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    und würdest du bitte noch mal im vom mir beschriebenen Kontextmenü schauen welchen Charset diese Seite hat.

  14. #14
    daWonderer ist offline Routinier
    registriert
    21-04-2007
    Beiträge
    409

    AW: UTF8 Daten in MySQL

    Zitat Zitat von ein schlauer Beitrag anzeigen
    und würdest du bitte noch mal im vom mir beschriebenen Kontextmenü schauen welchen Charset diese Seite hat.
    UTF-8, im Formular und auch in der Hauptseite. Es funktioniert ja jetzt!
    Hatte meine Funktionen nicht richtig überarbeitet.
    greetz, Ralf...

  15. #15
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: UTF8 Daten in MySQL

    Zitat Zitat von daWonderer Beitrag anzeigen
    Den wichtigsten Teil im letzten Post hab ich gesnippt.

    Hatte dort noch das 'utf8_decode' drin in der Ausgabe!
    Genau sowas hatte ich mir gedacht, aber das wolltest du uns natürlich nicht verraten, da du lieber erstmal die Leute verwirrst um dann möglichst viele (unnütze) Antworten zu erhalten?

    Ich hab keine Ahnung ob ich dir das schon mal gesagt habe, aber es wäre wirklich sinnvoll - und in deinem Interesse - Fragen so zu stellen, dass Aussenstehende auch wirklich Wissen was du tust.

    Weil so nervst du die Leute nur, die dumm rumstochern können und dir jede einzelne Information aus der Nase ziehen müssen.

    [EDIT]Und ich meine wirklich nerven - ich hatte gerade angfangen einen Testcase zu bauen, weil ich auch nicht mehr 100% sicher war und hatte mehrere Charset Variationen probiert - alles umsonst wie sich jetzt rausstellt, weil du mir nicht sagen wolltest, was du machst. Danke, ich werde in Zukunft deine Fragen ignorieren.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. select füllt weitere Felder mit Daten aus MySQL
    Von dottore im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 17-08-2005, 18:02
  2. Daten verschlüsselt in mySQL Datenbank abspeichern/auslesen
    Von miwagner im Forum Serverseitige Programmierung
    Antworten: 5
    Letzter Beitrag: 04-03-2005, 19:12
  3. Auslesen mysql Daten in html-Formular
    Von jacky im Forum Serverseitige Programmierung
    Antworten: 12
    Letzter Beitrag: 26-11-2003, 11:58
  4. PHP: Mysql Daten auslesen und speichern..
    Von Heavy_Metal im Forum Serverseitige Programmierung
    Antworten: 10
    Letzter Beitrag: 20-12-2002, 17:06
  5. Bannerrotation mit den Daten aus einer MYSQL DB...
    Von Heavy_Metal im Forum Serverseitige Programmierung
    Antworten: 14
    Letzter Beitrag: 23-07-2002, 15:08

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •