tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Raisch
  • 1 Beitrag von Raisch
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
409
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    Ich verwende seit kurzer zeit das sympatisch einfache jquery

    nach mehreren einträgen musste ich feststellen das es mir die Inhalte, die ich per Get/Jquery nicht so in meine datenbank eingetragen hat, wie es vorher mit normaler get funktion gemacht hat, die buchstaben sahen in der datenbank dan soo aus Ä= ä , naja war kein problem, hab schnell auf utf-8 eingestellt im header, nun jetzt ist das problem erst recht eskalliert, die anderen einträge die korrekt Ä darstellten zeigen mir nun beim auslesen das hässliche �, statt den Korrekt eingetragenen Umlaut.

    Wie gehe ich nun am besten vor, um beide korrekt darzustellen?
    kann ich bei jquery da was einstellen?
    soll ich beim empfangen der GET Inhalte was machen (wenn sie per jquery gesendet werden?
    da die seite ja per Ajax gestartet wird, muss ich da einfach die den header speziel einstellen? welches ist überhaupt besser UTF-8 oder iso-8859-1 ?, hab bissher immer letzteres verwendet....

    Vielen dank
     

  2. #2
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    ich möchte dabei noch sagen das ich bemerkt habe das es keinen einfluss hat welche codierung ich verwende, jquery sendet die hässlichen umlaute immer gleich, egal welche codierung ich beim senden/empfangen eingestellt habe....
     

  3. #3
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    hast du schon mal in einem Browser Debugger (z.B. Firebug, Chrome dev console) geschaut, welches Encoding in deiner HTTP Reponse vom Server eingetragen wurde?

    Verwendest du einen Java Backend / Servlet-Container?

    Welches Encoding ist in deiner Datenbank (Verbindung) eingestellt? Welches Encoding sendet dein Server zum Client?

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  4. #4
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    Zeichensatz / Kollation der MySQL-Verbindung = utf8_general_ci;
    sämtliche PHP Seiten habe ich nun auf :
    echo'<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />;
    gesetzt. Wie es schon seit jeher einwandfrei funktionierte.

    Die älteren einträge und die einträge ohne jqueri funktionieren einwandfrei. alles wird korrekt eingetragen so das ich in die DB reinkann und die richtigen umlaute sehe.

    nur die mit jquery eingetragenen daten werden falsch eingetragen ( also ich denke ich muss das jquery dazu bringen die korrekten umlaute umzusetzen, nur wie?)

    hier ein besipsiel dieses sogenannten jquery get funktion:

    Code :
    1
    2
    3
    
    $.get("startseite/zuklappen.php",
          {"window":(a)},
          function(text){$("#" + (a) + "_aufklappen").html(text);});

    wenn ich den Code nun so ansehe denke ich das man text evtl. ersetzten muss? nur mit was?
     

  5. #5
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    ich verschiebe die Frage mal in den PHP Bereich...

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  6. #6
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    verschieb es wohin du willst hautpsache ein O.G kann mir helfen ist aber keine frage von PHP sondern jquery, und das is Javascript? (also meine vermutung)
     

  7. #7
    Avatar von para_noid
    para_noid para_noid ist offline Mitglied Gold
    Registriert seit
    Aug 2011
    Beiträge
    144
    echo'<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />;
    Stell das hier zitierte auf UTF8 und es sollte passen. Das Fragezeichensymbol kommt dann, wenn man UTF8-kodierte zeichen in ISO ausgibt.
     
    Für die Übereinstimmung von Niederschrift und Hirninhalt.

  8. #8
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    hmmmm. scheinst wohl recht zu haben: habe diesen satz gefunden ist aber auf english.. (When sending data to the server, use this content-type. Default is "application/x-www-form-urlencoded", which is fine for most cases. If you explicitly pass in a content-type to $.ajax() then it'll always be sent to the server (even if no data is sent). Data will always be transmitted to the server using UTF-8 charset; you must decode this appropriately on the server side.) kann mir jemand diesen satz übersetzen?...

    wie schaffe ich es dann aber die alten DB einträge korrekt umzuwandeln damit nicht diese hässlichen fragezeichen kommen? oder muss ich die irgendwie mittels php programmierung durchlaufen lassen um alle neu zu setzen?
     

  9. #9
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    Zitat Zitat von para_noid Beitrag anzeigen
    Stell das hier zitierte auf UTF8 und es sollte passen. Das Fragezeichensymbol kommt dann, wenn man UTF8-kodierte zeichen in ISO ausgibt.
    meinst du nicht genau umgekehrt? jetzt habe ich UTF8 eingesetzt, und nun werden alle alten datenbank abrufe die umlaute enthalten mit einem fragezeichen dargestellt. (dazumals mit ISO in DB eingetragen)

    Wenn ich ISO-8859-1 einsetzte, werden die neuen einträge die ich mitells jquery (anscheinend UTF8) falsch dargestellt (ä).

    ich möchte es aber nun bei UTF8 belassen, weiss aber nicht wie ich die alten einträge ändern kann, auf eine einfache art und weise. gibt es da spezielle php funktion? zb.
    PHP-Code:
    <?php 
    $ergebnis 
    mysql_query("SELECT * FROM doku_kat");
    while(
    $keyword mysql_fetch_object($ergebnis))
    {
    $kategorie irgendeineUTF-8umwandelfunction($keyword->kategorie);
    $aendern "UPDATE doku_kat Set kategorie = '$kategorie' WHERE id_kat = '$keyword->id_kat'";
    $update mysql_query($aendern);

    }
    ?>
    gibts da was?
    oder muss ich alle einträge per get senden mit jquery?
    Geändert von Amschti (02.02.12 um 21:02 Uhr)
     

  10. #10
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von Amschti Beitrag anzeigen
    meinst du nicht genau umgekehrt? jetzt habe ich UTF8 eingesetzt, und nun werden alle alten datenbank abrufe die umlaute enthalten mit einem fragezeichen dargestellt. (dazumals mit ISO in DB eingetragen)

    Wenn ich ISO-8859-1 einsetzte, werden die neuen einträge die ich mitells jquery (anscheinend UTF8) falsch dargestellt (ä).

    ich möchte es aber nun bei UTF8 belassen, weiss aber nicht wie ich die alten einträge ändern kann, auf eine einfache art und weise. gibt es da spezielle php funktion? zb.
    PHP-Code:
    <?php 
    $ergebnis 
    mysql_query("SELECT * FROM doku_kat");
    while(
    $keyword mysql_fetch_object($ergebnis))
    {
    $kategorie irgendeineUTF-8umwandelfunction($keyword->kategorie);
    $aendern "UPDATE doku_kat Set kategorie = '$kategorie' WHERE id_kat = '$keyword->id_kat'";
    $update mysql_query($aendern);

    }
    ?>
    gibts da was?
    oder muss ich alle einträge per get senden mit jquery?
    Es gibt utf8_encode.

    Oder:
    PHP-Code:
    mysql_query'SET NAMES utf8;' );

    // deine Updateschleife
    $ergebnis mysql_query("SELECT * FROM doku_kat");
    while(
    $keyword mysql_fetch_object($ergebnis))
    {
    $aendern "UPDATE doku_kat Set kategorie = '{$keyword->kategorie}' WHERE id_kat = '$keyword->id_kat'";
    $update mysql_query($aendern);

    Gruß
    Geändert von Raisch (02.02.12 um 21:28 Uhr) Grund: PHP Tags vergessen -.-
    Amschti bedankt sich. 

  11. #11
    Amschti Amschti ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Beiträge
    54
    Wow, Danke viel viel mal!! dieses PHP ist einfach Geil, und dieses Forum ist das Sahnehäubchen obendrauf !! vielen dank
     

  12. #12
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von Amschti Beitrag anzeigen
    Wow, Danke viel viel mal!! dieses PHP ist einfach Geil, und dieses Forum ist das Sahnehäubchen obendrauf !! vielen dank
    Kein Problem.

    Du darfst auch gerne auf Danke klicken.

    Gruß
    Amschti bedankt sich. 

Ähnliche Themen

  1. Mail-Funktion und Umlaute im Header
    Von bauchinj im Forum PHP
    Antworten: 4
    Letzter Beitrag: 16.02.10, 14:13
  2. Umlaute Problem
    Von starfoxfs im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 18.03.09, 14:02
  3. Header Content-Disposition und Umlaute
    Von meilon im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 13.08.08, 08:44
  4. UTF-8 Problem (Umlaute)
    Von The Hacky im Forum Linux & Unix
    Antworten: 15
    Letzter Beitrag: 14.02.05, 15:39
  5. Umlaute Problem!
    Von dicki im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 22.12.04, 14:27

Stichworte