tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
23
ZUGRIFFE
11826
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Hallo,

    ich habe folgendes Problem und zwar will ich über PHP einen Datensatz in eine MySQL-Datenbank einfügen. Dieser Datensatz kann auch Umlaute enthalten. Wenn ich mir den zusammengesetzten SQL-String anzeigen lasse, zeigt der mir den richtigen Text an. Also Umlaute sind noch Umlaute. Kopiere ich mir den String nun und füge diesen von Hand in die Datenbank ein funktioniert alles wunderbar. Wenn ich den String jedoch mittels PHP absetzen will, schreibt PHP mir irgendwelche komischen Zeichen in die Tabelle.

    Weiß eventuell jemand woran das liegt? Über Hilfe wäre ich sehr dankbar.

    Gruß

    Daniel
     

  2. #2
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
     

  3. #3
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    wenn das, was du in die DB einfügen willst nicht auf der seite ausgegeben werden soll, dann kannst du die umlaute auch direkt also XML code schreiben ä = ä ü = ü

    versuchs mal
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Es liegt an den unterschiedlichen verwendeten Zeichenkodierungen der einzelnen Systeme. Vermutlich stimmt die Eingabekodierung nicht mit der verwendeten Kodierung der Datenbank und/oder der Ausgabe nicht überein.

    Welche Zeichenkodierung verwendest du denn?
     
    Markus Wulftange

  5. #5
    Avatar von Blackhawk50000
    Blackhawk50000 Blackhawk50000 ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Ort
    Erding As, Bayern, Germany, Germany
    Beiträge
    328
    ich muss hinzufügen das du den XML code glaube ich auch verwenden kannst wenn du das doch ausgeben willst....
     

  6. #6
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Zitat Zitat von Gumbo Beitrag anzeigen
    Welche Zeichenkodierung verwendest du denn?
    Ich verwende den Zeichensatz utf-8.
     

  7. #7
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Da ich die Datensätze später auch ausgeben muss und diese später auch noch bearbeitet werden sollen, kann ich leider nicht direkt den HTML-Code, wie z.B. ü, in die Datenbank schreiben.
     

  8. #8
    SpiderZLS SpiderZLS ist offline Mitglied Bronze
    Registriert seit
    Nov 2006
    Beiträge
    39
    Du solltest deine Webanwendung in UTF-8 und deine DB auch in UTF-8 haben dann solltest du keine probs. mehr haben.
     

  9. #9
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wird diese Zeichenkodierung denn auch von der Datenbank benutzt und bei der Ausgabe korrekt angegeben?
     
    Markus Wulftange

  10. #10
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Danke für eure Hilfe.

    Ich habe nun auch den Fehler gefunden. Es war alles richtig auf UTF-8 umgestelt, nur habe ich vor meine Ausgaben ein htmlentities($string) stehen. Das funktioniert bei UTF-8 allerdings nicht mehr so. Da muss es dann htmlentities($string,ENT_QUOTES,’UTF-8’) heißen.
     

  11. #11
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Zudem brauchst bei UTF-8 du bis auf die HTML-Metazeichen keine anderen Zeichen durch Zeichenreferenzen zu ersetzen.
     
    Markus Wulftange

  12. #12
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Habe nun ein weiteres Problem und zwar soll aus einem in ein Formular eingegebenen String automatisch ein String ohne Sodnerzeichen erstellt werden, bzw. soll die Sonderzeichen ersetzt werden. Da die Eingaben des Formulars aber nun via UTF-8 geschehen, funktioniert meine Funktion nicht mehr, die z.B. aus einem ü ein ue macht. Der Grund dafür ist jetzt, dass die Sonderzeichen schon in dem String in UTF-8 sind.

    Gibt es eine PHP-Funktion mit der man Zeichen in UTF-8 umwandeln kann?
     

  13. #13
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Bei UTF-8 musst du auch die UTF-8-Kodierungen der jeweiligen Zeichen nehmen. Das heißt entweder kodierst du auch die PHP-Skripte mit UTF-8 oder du gibst die Bitsequenzen einzeln an.
    PHP-Code:
    $trans = array(
        
    "\xC3\xA4" => 'ae',
        
    "\xC3\xB6" => 'oe',
        
    "\xC3\xBC" => 'ue',
        
    // …
    ); 
     
    Markus Wulftange

  14. #14
    LevFan LevFan ist offline Mitglied
    Registriert seit
    Sep 2007
    Ort
    Leverkusen
    Beiträge
    13
    Und wie kodiert man ein PHP-Script mit UTF-8?
     

  15. #15
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Das muss dein Editor können, der die Eingabe von der Tastatur direkt kodiert.
     
    Markus Wulftange

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 13.12.10, 21:57
  2. Antworten: 8
    Letzter Beitrag: 23.12.09, 12:13
  3. Antworten: 5
    Letzter Beitrag: 13.04.06, 17:54
  4. Antworten: 4
    Letzter Beitrag: 11.10.05, 09:50
  5. Icons werden falsch gespeichert
    Von alixander im Forum Borland CBuilder und VCL
    Antworten: 1
    Letzter Beitrag: 20.03.05, 04:31