Fehler beim Import einer CSV-Datei

Thema wurde von MrFab16.4, 4. Oktober 2017 erstellt.

  1. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Hallo,

    nach einer neuen Shop-Version der letzten Monaten kommt man ja an sämtliche Artikelbilder eines Artikels
    ja nur nur über den neuen Export/Import.

    Bei meinen einen Shop habe ich derletzt die Aktualisierung/den Austausch sämtlicher Bilder meiner Artikel
    durch den neuen Export/Import - speziell der Artikelbilder - hinbekommen.

    Nun möchte ich auch für meinen zweiten Shop die Aktualisierung/den Austausch sämtlicher Bilder meiner Artikel
    durch den neuen Export/Import - speziell der Artikelbilder - erreichen.
    Doch alles war ich erreiche ist eine Fehlermeldung beim Import. Siehe den 3. Screenshot.

    Den Aufbau der Export-Definitionen (siehe 1. Screenshot) und der dadurch erstellten CSV-Datei (siehe 2. Screenshot)
    für meinen zweiten Shop ist dabei m.E. identisch wie beim ersten Shop (wo es funktioniert hat).

    Die verwendeten Trennzeichen sind | und " und der Zeichensatz ist Westeuropa/WinLatin1.

    Frage:
    Was mache ich falsch?
     

    Anhänge:

  2. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Ergänzung: So wie es aussieht, werden die/alle Bilder werden TROTZ des o.g. Fehlers importiert...

    Frage:
    Was sagt bzw. was soll die o.g. Fehlermeldung (3. Screenshot) dann aussagen?
     
  3. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.319
    Danke erhalten:
    6.275
    Danke vergeben:
    1.119
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    die fehlermeldung sagt gar nix da du die details nicht aufgeklappt hast. Und am besten Fehlermeldungen per copy-paste in ne textbox hier posten nicht auf bildern sonst is das zu klein zum lesen bei kleinem Monitor (pad oder handy).
     
  4. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Ok, dann hier nachfolgend eine dieser o.g. Fehlermeldungen, mit all ihren aufgeklappten Details:

    Code:
    2017-10-05 03:27:20 (b2e6cdb87d3056f12a871cfc7f804532) WARNING(2): "Illegal offset type in isset or empty" in /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVImportFunctionLibrary.inc.php:718 (Details)
    #7    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVImportFunctionLibrary.inc.php:718 (Details)
        Code:
    │    line 716:        
    │    line 717:         $t_lang_code = '';
    ├─    line 718:         if(isset($this->v_language_array[$p_field_params[$t_index]]))
    │    line 719:         {
    │    line 720:             $t_lang_code = $p_field_params[$t_index];
    #6    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVImportFunctionLibrary.inc.php(643) : eval()'d code:1 (Details)
    #5    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVImportFunctionLibrary.inc.php:643 (Details)
        Code:
    │    line 641:                 foreach ($t_functions as $t_function)
    │    line 642:                 {
    ├─    line 643:                     eval('$this->' . trim($t_function) . '($t_params);');
    │    line 644:                 }
    │    line 645:             }
    #4    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVSource.php:2112 (Details)
        Code:
    │    line 2110:                 $this->v_img_nrs[] = $t_img_nr;
    │    line 2111:             }
    ├─    line 2112:             $this->v_coo_csv_import_function_lib->set_field_content($t_field_name, $t_field_value);
    │    line 2113:         }
    │    line 2114:         $this->v_img_nrs = array_unique($this->v_img_nrs);
    #3    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVControl.inc.php:642 (Details)
        Code:
    │    line 640:             {
    │    line 641:                 $t_line_data_array = $this->v_coo_csv_source->explode($t_line, $p_separator, $p_quote);
    ├─    line 642:                 $t_import_data = $this->v_coo_csv_source->import_data_set($t_line_data_array);
    │    line 643:
    │    line 644:                 if ($t_import_data !== false && $t_import_data['products']['products_id'] != $t_products_id)
    #2    File: /var/customers/webs/Cover1/gambio_shopware/system/classes/csv/CSVAjaxHandler.inc.php:330 (Details)
        Code:
    │    line 328:                             $t_quote = str_replace("\'", "'", $t_quote);
    │    line 329:                             $t_progress = $this->v_data_array['POST']['progress'];
    ├─    line 330:                             $t_output_array = $coo_csv_control->import($t_filename, $t_separator, $t_quote, $t_deletions, $t_progress);
    │    line 331:                         }
    │    line 332:                         break;
    #1    File: /var/customers/webs/Cover1/gambio_shopware/system/core/RequestRouter.inc.php:93 (Details)
        Code:
    │    line 91:         # proceed module and write response to buffer
    │    line 92:         ob_start();
    ├─    line 93:         $success = $coo_module->proceed();
    │    line 94:         $content = ob_get_clean();
    │    line 95:        
    #0    File: /var/customers/webs/Cover1/gambio_shopware/request_port.php:70 (Details)
        Code:
    │    line 68:             $coo_request_router->set_data('POST', $_POST);
    │    line 69:
    ├─    line 70:             $t_proceed_status = $coo_request_router->proceed($f_module_name);
    │    line 71:             if($t_proceed_status == true) {
    │    line 72:                 $t_output_content = $coo_request_router->get_response();
    Request: POST /request_port.php?module=CSV&action=import (Details)
        - duration: ~13823ms
        - server: Apache/2.4.25 (Debian)
        - server address: 37.17.229.140
        - user agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 OPR/46.0.2597.32
        - remote address: b2e6cdb87d3056f12a871cfc7f804532
    Session:  (Details)
        - tpl: Honeygrid
        - MOBILE_ACTIVE: false
        - language: german
        - languages_id: 2
        - language_charset: utf-8
        - language_code: de
        - currency: EUR
        - customers_status: [...]
        - cart: [...]
        - wishList: [...]
        - customer_id: 1
        - payment: ### Session entry not present ###
        - shipping: ### Session entry not present ###
        - cartID: ### Session entry not present ###
        - sendto: ### Session entry not present ###
        - billto: ### Session entry not present ###
    Post:  (Details)
        - select_import_file: cc1_export_2017_10_04_ac_cobra_mit_neuen_bildern.csv
        - import_field_separator: |
        - import_field_quotes: \"
        - progress: 0
    Get:  (Details)
        - module: CSV
        - action: import
     
  5. Hilke (Gambio)
    Hilke (Gambio) Super-Moderator
    Mitarbeiter
    Registriert seit:
    18. Mai 2015
    Beiträge:
    470
    Danke erhalten:
    255
    Danke vergeben:
    412
    Hallo,

    welche Shop-Version nutzt du? Ab der Shop-Version 2.1 muss die CSV-Datei nicht mehr in Latin1, sondern in UTF-8 (ohne BOM) kodiert sein. Hast du das mal überprüft?
     
  6. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Meine Shop-Version ist die 3.6.0.2.

    Im GX3-Handbuch ist folgender Info-Blick vorhanden:
    Für den CSV-Import und -Export sind zwei unabhängige Systeme im Shop vorhanden.
    Im Gegensatz zum klassischen Export kann die Zusammenstellung der Export-Datei
    frei konfiguriert werden. Auch basiert diese auf einem anderen Zeichensatz (utf-8 statt
    Latin1/ Westeuropa (ISO-8859-1)). Beide Systeme sind grundsätzlich nicht miteinander
    kompatibel. CSV-Dateien aus den oder für die Shopsystemen der Version v2.0.x müssen
    weiterhin über den Bereich Artikel > CSV Import/Export vorgenommen werden
    .

    Nachdem ich seit über 2 Jahren für den ALTEN Export utf-8 benutze
    und da steht, dass sich der NEUE und ALTE Export im Zeichensatz unterscheiden
    lese ich für mich daraus, dass der NEUE Export dann wohl den ANDEREN Zeichensatz
    Latin1/ Westeuropa (ISO-8859-1) verwendet.


    In dem o.g. Info-Blick sollte m.E. ganz klar ersichtlich drinstehen:
    - ALTER Export: Zeichensatz a
    - NEUER Export: Zeichensatz b
    Leider ist das in dem Info-Block für mich leider nicht der Fall.

    Frage:
    Also, welcher Zeichensatz gilt genau für den ALTEN Export und welcher für den NEUEN Export?
     
  7. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.319
    Danke erhalten:
    6.275
    Danke vergeben:
    1.119
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Utf8 ist neu
    Frage is ja eher woraus du exportierst, das schema bild is ja eher aus neuen shops.
    Importieren wiirst auch nicht in einen alten.

    Also is alles utf8
     
  8. Hilke (Gambio)
    Hilke (Gambio) Super-Moderator
    Mitarbeiter
    Registriert seit:
    18. Mai 2015
    Beiträge:
    470
    Danke erhalten:
    255
    Danke vergeben:
    412
    Hallo,

    der alte Zeichensatz ist "Latin1", der neue Zeichensatz ist "UTF-8 (ohne BOM)". Die ganzen Daten im Shop sind in UTF-8 kodiert, der Import kann daher nur UTF-8.
    Der "alte" Export unter Artikel > CSV Import/Export nutzt auch schon UTF-8 seit der Shop-Version 2.1, nur die Formatierung der CSV-Datei ist etwas anders.
    Der alte und der neue Import unterscheiden sich nur teilweise in der Bezeichnung der Spalten, die Zeichenkodierung ist für beide (seit der 2.1) UTF-8.
    Du kannst mit Texteditoren wie z. B. Notepad++ die Kodierung zu UTF-8 ändern.
     
  9. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Ah, das ist doch mal ein viel verständlicherer und vor allem eindeutigerer Text zum Thema
    (als wie der obige derzeitige Text im GX3-Handbuch):

     
  10. MrFab16.4
    MrFab16.4 Erfahrener Benutzer
    Registriert seit:
    22. April 2015
    Beiträge:
    397
    Danke erhalten:
    40
    Danke vergeben:
    83
    Die Abkürzung BOM musste ich gerade erst mal googeln.....und steht wohl für Byte Order Mark:
    (Link nur für registrierte Nutzer sichtbar.)

    Ich habe den Wiki-Text durchgelesen und bin nun auch nicht wirklich schlauer....

    "UTF-8 (ohne BOM)" klingt für mich wie am Dönerstand "mit ohne scharf"...

    Im OpenOffice "Excel" habe ich doch eh nur die Option die CSV-Datei mit Unicode (UTF-8) zu öffnen,
    d.h. für mich als Endanwender ist die Angabe (ohne BOM) eine Angabe ohne Wert,
    da ich diese sowie nicht beim Öffnen der CSV-Datei explizit auswählen oder abwählen kann....oder?
     
  11. Dennis (MotivMonster.de)
    Dennis (MotivMonster.de) G-WARD 2013/14/15/16
    Registriert seit:
    22. September 2011
    Beiträge:
    31.319
    Danke erhalten:
    6.275
    Danke vergeben:
    1.119
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Manche Editoren setzen diese nicht direkt sichtabre BOM vor die Daten. Man sieht es glaube wenn man es im editor öffnet. sollte da ein zeichen sein einfach im editor löschen speichern. dann is es ohne diesen bom. idR hast den aber wahrscheinlich nicht. da OpenOffice calc den nicht setzt.