Ankündigung

Einklappen
Keine Ankündigung bisher.

Umlaute funktioniern nicht gescheit

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umlaute funktioniern nicht gescheit

    Ich hab irgendwie ein ganz komisches Problem:
    Ich habe in einer mysql-db eine tabelle namens "test" und in der wieder eine spalte namens "test" und darin einen datensatz: "öüäß".

    wenn ich den datensatz über diese script
    Code:
    <?php
    	$db = @MYSQL_CONNECT("localhost", "", "") or die ("Konnte keine Verbindung zur Datenbank herstellen");
    	$db = mysql_select_db("test");
    	$query = mysql_query("SELECT test FROM test");
    	while($row = mysql_fetch_array($query))
    	{
    		echo $row["test"];
    	}
    ?>
    ausgebe, so bekomme ich folgenden Quelltext:
    Code:
    öüäß
    .
    Aber als Ausgabe auf dem Browser erscheint dann sowas: öüäß.

    Das finde ich ja schon mal recht komisch, aber es geht noch weiter:

    Ich lasse vor der mysql-ausgabe noch einmal Umlaute per PHP ausgeben:
    Code:
    <?php
    	echo "üöä";
    	$db = @MYSQL_CONNECT("localhost", "", "") or die ("Konnte keine Verbindung zur Datenbank herstellen");
    	$db = mysql_select_db("test");
    	$query = mysql_query("SELECT test FROM test");
    	while($row = mysql_fetch_array($query))
    	{
    		echo $row["test"];
    	}
    ?>
    Dann erhalte ich den Quelltext:
    Code:
    üöäöüäß
    .
    Und als Browser-Ausgabe:
    Code:
    üöäöüäß
    , was dann ja auch ok wäre...

    Wenn ich den Datensatz in phpMyAdmin ausgeben lasse, so wird er dort ganz normal angezeigt. Sprich ich sehe nicht öüäß sondern ganz richtig üöäß.
    Kann mir einer sagen, woran das liegt?!
    Ich habe dasselbe Script auf einem anderen Rechner laufen lassen, auf dem die php- und mysql-versionen identsich sind und dort klappt es!?!
    Ich hoffe es kann mir einer helfen...

    Gruß.
    JCM


  • #2
    definitv keine profifrage ..
    moved to -> php-anfänger

    ich hätte es auch ins MySQL-forum verschieben können .. war unentschlossen.

    grüße ben ..
    privater Blog

    Kommentar


    • #3
      Versuch mal in der httpd.conf den Parameter:

      AddDefaultCharset auf "on" zu setzten,


      ################
      AddDefaultCharset on
      ################

      wenn dieser noch z.B. auf UTF-8 gesetzt ist...


      Gruss

      bigbrother

      Kommentar


      • #4
        hm... warum ist das keine profifrage??? ich denke mal, dass ein anfänger mir das nicht beantworten kann...

        das ändern dieser einstellung bringt nix. auf beiden rechner ist die config ziemlich gleich, so auch diese, doch auf dem anderen funktioniert es...

        Kommentar


        • #5
          Zitat von JCM
          hm... warum ist das keine profifrage??? ich denke mal, dass ein anfänger mir das nicht beantworten kann...
          Du verwechselst da was. Die Einteilung in Profi und Anfänger betrifft nicht die Antworten sondern die Fragen.

          das ändern dieser einstellung bringt nix. auf beiden rechner ist die config ziemlich gleich, so auch diese, doch auf dem anderen funktioniert es...
          Dann guck noch mal genauer nach.

          Kommentar


          • #6
            aha... na dann...

            mich macht es aber auch stutzig, dass die Umlaute bei phpMyAdmin (sogar im Quelltext) richtig angezeigt werden und wenn ich den Datensatz so ausgeben lasse es dann nicht funktioniert...

            Kommentar


            • #7
              Zitat von JCM
              mich macht es aber auch stutzig, dass die Umlaute bei phpMyAdmin (sogar im Quelltext) richtig angezeigt werden und wenn ich den Datensatz so ausgeben lasse es dann nicht funktioniert...
              Um den Fehler einzukreisen, würde ich an Deiner Stelle erst mal in der MySQL Konsole nachgucken, wie die Umlaute in der Tabelle eingetragen wurden.

              Kommentar


              • #8
                Also am Rechner, an dem es einwandfrei läuft, sind in der Konsole keine "richtigen" Umlaute zu erkennen, sondern nur ein nicht entzifferbares wirrwarr... aber dennoch funktioniert es! auch im Quelltext werden sie richtig angezeigt!!!
                Auf dem Rechner, auf dem es nicht läuft, sehen die Zeichen aber gaaaanz anders aus...
                Es sind aber auf beiden Rechnern dieselben mysql-versionen!
                Woran kann das liegen ???

                Kommentar


                • #9
                  Zitat von JCM
                  Es sind aber auf beiden Rechnern dieselben mysql-versionen!
                  Vergleiche bitte mal die Konfiguration und die Aufrufparameter beider MySQL Installationen. Und überprüfe "die Umlaute" noch mal so, daß Du auf beiden Kisten in der MySQL Konsole ein INSERT und ein SELECT auf den neuen Datensatz absetzt.

                  Es wäre doch gelacht, wenn wir das nicht rauskriegen würden... <g>

                  Kommentar


                  • #10
                    ich hab jetzt mal über die mysql-konsole einen datensatz (üöäß) erstellt und ihn darüber wieder abgefragt: als resultat erhalte ich üöäß. Dies ist bei beiden Rechner identisch!
                    Lasse ich nun aber den datensatz über das obige script auslesen, so erhalte ich im quelltext und browser: ”„á

                    Ich habe jetzt ein script geschrieben, das einen solchen datensatz (üöäß) selber erstellt und siehe da: es funktioniert!!!
                    wenn ich ihn auslesen lasse, dann geht es! auf beiden rechnern!!!
                    guck man aber nun in die konsole sieht der datensatz zwar komisch aus, ist aber egal...

                    ich glaube ich habe den fehler gefunden: phpmyadmin!!!
                    ich habe hier zwei verschiedene Versionen verwendet.
                    auf dem rechner, auf dem es nicht lief, war eine neuere version, die das wohl irgendwie nicht gecheckt hat und auch den von mir über das script erzeugten datensatz falsch ausliest. auf dem rechner mit der älteren version geht es...

                    also... fehler gefunden: phpmyadmin hat ein wenig verwirrung gestiftet...

                    danke, für eure hilfen!!!

                    Kommentar


                    • #11
                      Zitat von JCM
                      ich hab jetzt mal über die mysql-konsole einen datensatz (üöäß) erstellt und ihn darüber wieder abgefragt: als resultat erhalte ich üöäß. Dies ist bei beiden Rechner identisch!
                      Lasse ich nun aber den datensatz über das obige script auslesen, so erhalte ich im quelltext und browser: ”„á
                      Da stimmt möglicherweise der verwendete Zeichensatz (MySQL, Script u/o Apache) nicht, denn ich kann die via Konsole eingegebenen Umlaute per Script oder PhpMyAdmin korrekt lesen *und* umgekehrt.

                      Sollte es sich um Deinen (Miet-) Server handeln, dann hast Du noch was zu tun.

                      Kommentar


                      • #12
                        ja alos es läuft jetzt so ganz gut !
                        lag irgendwie nur an phpmyadmin...
                        ich kann die umlaute auch per phpmyadmin (richtige version) eingeben und auslesen, sowie auch bei meinen scripts.
                        nur über konsole eingebene umlaute werden auf der seite und im quelltext falsch angezeigt, was dann aber auch relativ egal ist, da ich die konsole dazu eh selten bis nie benutze.
                        aber noch mal danke für deinen letzten tipp. der hat mir echt geholfen...

                        Kommentar

                        Lädt...
                        X