tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
3558
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    SAMariter SAMariter ist offline Mitglied Bronze
    Registriert seit
    Jun 2010
    Beiträge
    32
    Hallo zusmannen,

    ich programmiere schon eine ganze weile an einem "Webshop". Das ganze läuft folgendermaßen ab:

    Ich erhalte die Daten von einem anderen Internetshop. Ich habe eine PHP datei geschrieben, die bei dem anderen Anbieter auf dem Server liegt. Diese Datei holt die Daten aus der Datenbank und gibt mir einen "Text" in Form von einem JSON-array aus.

    Sieht so aus (nur ein kleiner Auszug):
    [{'categories_id':'7453','parent_id':'7419','categories_name':'Werkzeug / Additive'},{'categories_id':'7452','parent_id':'7419','categories_name':'Verkleidungsteile'},{'categ ories_id':'7451','parent_id':'7419','categories_name':'Vergaser'},{'categories_id':'7450','parent_id ':'7419','categories_name':'Variomatik'},{'categories_id':'7449','parent_id':'7419','categories_name ':'Styling'},{'categories_id':'7448','parent_id':'7419','categories_name':'Motorteile'},{'categories _id':'7447','parent_id':'7419','categories_name':'Merchandise'},{'categories_id':'7446','parent_id': '7419','categories_name':'Kurbelwelle'},{'categories_id':'7445','parent_id':'7419','categories_name' :'Kupplung'},{'categories_id':'7444','parent_id':'7419','categories_name':'Getriebe'},{'categories_i d':'7443','parent_id':'7419','categories_name':'Fahrwerk'},{'categories_id':'7442','parent_id':'7419 ','categories_name':'Elektrik'}]

    In meiner JS Datei hole ich das dann per AJAX und lese das ganze mit eval() aus. Funktioniert soweit auch ganz gut.
    Das problem ist nun, dass die Umlaute als eine schwarze Raute mit einem Fragezeichen darin dargestellt wird.

    Ich habe schon öfters gelesen, das das an der UFT-8 konvertierung liegen könnte. Aber wo muß ich da was Konvertieren.

    Danke euch

    CU
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,


    JSON benutzt ja als Zeichenkodierung UTFx

    Du müsstest also sowohl Schlüssel, als auch Werte darin codieren.
    1. Speichere dein Skript in UTF8
    2. Sorge dafür, dass die Kommunikation mit der DB auch in UTF8 vor sich geht. Wie das geht, steht hier: http://www.tutorials.de/forum/php/12...ml#post1850409
    3. Benutze zum Erstellen des JSON das in PHP implementierte json_encode()
      So erhältst du sauberes JSON, und hast keine Probleme mit der Codierung der Empfänger-Seite, falls diese nicht in UTF8 sein sollte, da json_encode() nicht-ASCII-Zeichen als Unicode-Sequenz darstellt(so wird bspw. aus einem ö ein \u00f6)

    In meiner JS Datei hole ich das dann per AJAX und lese das ganze mit eval() aus.
    eval ist evil, erst recht, wenn die Daten aus einer fremden Quelle kommen.
    Verwende stattdessen besser json2.js->JSON.parse()
     

Ähnliche Themen

  1. JSON firefox Problem
    Von trackmaster im Forum HTML-Editoren
    Antworten: 6
    Letzter Beitrag: 24.12.10, 23:53
  2. Problem mit JSON / Umlauten
    Von Kopfballstar im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 02.02.09, 12:58
  3. Problem beim verwenden eines JSON
    Von Andre_d im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 12.09.08, 00:49
  4. Problem mit JSON nach Unterbrechung der Internetverbindung
    Von blubbbla im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 21.01.08, 08:52
  5. Problem mit Umlauten
    Von LightBear im Forum Java
    Antworten: 0
    Letzter Beitrag: 29.06.05, 16:16

Stichworte