Falsche Kodierung trotz richtigem META Tag

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

  • onemorenerd
    antwortet
    Zitat von f.gruber Beitrag anzeigen
    Wie aber kann man eine Version "aktivieren" ???
    Manche Hoster (vornehmlich 1&1) bieten mehrere Versionen parallel, so dass jeder Kunde selbst entscheiden kann, welche Version er benutzt. Das "aktivieren" geschieht durch einen Eintrag in der .htaccess oder bestimmte Dateiendungen für die Scripte. Jeder Hoster, der mehrere Versionen anbietet, beschreibt sicherlich irgendwo auf den eigenen Seiten, wie man zwischen den Versionen umschalten kann.

    Wenn dein Hoster nur eine Version anbietet, kannst du höflich um ein Update bitten. Vermutlich lässt er sich nicht drauf ein. Dann ist ein Wechsel angesagt.

    Wenn du Root-Rechte auf einem eigenen Server hast, kannst du beliebige PHP-Versionen installieren. Sollte 5.2.3 oder höher noch nicht als Paket für dein OS existieren, musst du PHP selbst kompilieren.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von f.gruber Beitrag anzeigen
    Das liefert
    PHP-Code:
    echo PHP_VERSION
    Code:
    5.2.0-8+etch16
    Die am Server installierte Version kann also nicht zu alt sein.
    PHP 5.2.0 ist immerhin fast 4 Jahre alt.

    Einen Kommentar schreiben:


  • combie
    antwortet
    mysql_set_charset (PHP 5 >= 5.2.3)
    Gibts erst ab 5.2.3
    PHP: mysql_set_charset - Manual

    Einen Kommentar schreiben:


  • f.gruber
    antwortet
    Das liefert
    PHP-Code:
    echo PHP_VERSION
    Code:
    5.2.0-8+etch16
    Die am Server installierte Version kann also nicht zu alt sein.
    Wie aber kann man eine Version "aktivieren" ???

    Ich bekomme folgende Fehlermeldung:
    Code:
    Fatal error: Call to undefined function mysql_set_charset() in /var/www/irgendwo/index.php on line 17

    Einen Kommentar schreiben:


  • combie
    antwortet
    PHP: Predefined Constants - Manual
    Ansonsten: Provider fragen.

    Einen Kommentar schreiben:


  • f.gruber
    antwortet
    Zitat von combie Beitrag anzeigen
    Aktiviere mal PHP5 ....
    Wie kann ich feststellen, welche PHP Version der Provider hat? Der Provider hat die Funkion phpinfo() deaktiviert - aus "security reasons".

    Wie soll ich bzw. kann ich PHP5 "aktivieren"?

    Einen Kommentar schreiben:


  • combie
    antwortet
    Diese Funktion kennt er wirklich nicht ...
    Aktiviere mal PHP5 ....

    Einen Kommentar schreiben:


  • f.gruber
    antwortet
    Problem gelöst

    Zitat von combie Beitrag anzeigen
    PHP-Code:
    mysql_set_charset ("UTF-8"); // falsch
    mysql_set_charset ("utf8"); // erheblich besser 
    Diese Funktion kennt er wirklich nicht ...

    PHP-Code:
    // genauso falsch!
    mysql_query("SET NAMES 'UTF-8'");
    mysql_query("SET CHARACTER SET 'UTF-8'");


    //besser
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'"); 
    Ja, ja, ja ----->
    Das war der Fehler. Hat mich Stunden gekostet. Vielen, vielen Dank für's genaue Hinschauen!

    Jetzt geh' ich einen trinken.
    Gute Nacht alle zusammen!

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von f.gruber Beitrag anzeigen
    Die Daten werden mit phpMyAdmin ganz korrekt angezeigt.
    Und welche Kodierung hast du im phpMyAdmin eingestellt ...?

    Einen Kommentar schreiben:


  • f.gruber
    antwortet
    Zitat von wahsaga Beitrag anzeigen
    Hast du anschließend auch mit neuen Daten getestet ...?
    Denn die alten sind höchstwahrscheinlich schon korrupt, wenn du vorher beim Einfügen dieser nicht die Kodierung angegeben hast.
    Die Daten werden mit phpMyAdmin ganz korrekt angezeigt. Ausserdem verwende ich ja die gleiche Datenbank (MySQLDump) auf meinem Server und alles ist ok.

    Einen Kommentar schreiben:


  • combie
    antwortet
    PHP-Code:
    mysql_set_charset ("UTF-8"); // falsch
    mysql_set_charset ("utf8"); // erheblich besser 
    PHP-Code:
    // genauso falsch!
    mysql_query("SET NAMES 'UTF-8'");
    mysql_query("SET CHARACTER SET 'UTF-8'");


    //besser
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER SET 'utf8'"); 

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von f.gruber Beitrag anzeigen
    Code:
    mysql_query("SET NAMES 'UTF-8'");
    mysql_query("SET CHARACTER SET 'UTF-8'");
    habe ich auch versucht - ohne Wirkung.
    Hast du anschließend auch mit neuen Daten getestet ...?

    Denn die alten sind höchstwahrscheinlich schon korrupt, wenn du vorher beim Einfügen dieser nicht die Kodierung angegeben hast.

    Einen Kommentar schreiben:


  • f.gruber
    antwortet
    Zitat von h3ll Beitrag anzeigen
    Welchen Zeichensatz verwendet die Datenbankverbindung von PHP?
    Wie kann ich das feststellen?

    PHP-Code:
    mysql_set_charset ("UTF-8"); 
    liefert folgendes:

    Code:
    Call to undefined function mysql_set_charset()
    Das dürfte bedeuten, dass beim Provider eine zu alte MySQL oder PHP Version installiert ist, sehe ich das richtig?

    Code:
    mysql_query("SET NAMES 'UTF-8'");
    mysql_query("SET CHARACTER SET 'UTF-8'");
    habe ich auch versucht - ohne Wirkung.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von f.gruber Beitrag anzeigen
    Die aus der Datenbank generierten Namen haben jetzt zerstörte Umlaute, dafür wird der Rest der Seite richtig dargestellt, jedenfalls bei meinem Computer ...
    Welchen Zeichensatz verwendet die Datenbankverbindung von PHP?

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Dann behandelst du die DB-Daten falsch. Welche Zeichencodierung haben die Daten und welche hast du für die Verbindung benutzt?

    Einen Kommentar schreiben:

Lädt...
X