Ankündigung

Einklappen
Keine Ankündigung bisher.

Suchfunktion mit Umlauten gibt Fehlermeldung raus

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

    Suchfunktion mit Umlauten gibt Fehlermeldung raus

    Ich hab schon wieder ein Problem, welches ich nicht gelöst bekomme.

    Sobald man in der Suchfunktion vom Shop auch nur einen einzigen Umlaut eingibt, kommt folgende Fehlermeldung:

    1267 Illegal mix of collations (latin1_german2_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'
    in:
    [select count(distinct p.products_id) as total FROM (products p LEFT JOIN manufacturers m USING(manufacturers_id), products_description pd, categories c, products_to_categories p2c ) LEFT JOIN meta_tags_products_description mtpd ON mtpd.products_id= p2c.products_id AND mtpd.language_id = 43 WHERE (p.products_status = 1 AND p.products_id = pd.products_id AND pd.language_id = 43 AND p.products_id = p2c.products_id AND p2c.categories_id = c.categories_id AND ((pd.products_name LIKE '%�%' OR p.products_model LIKE '%�%' OR m.manufacturers_name LIKE '%�%' OR (mtpd.metatags_keywords LIKE '%�%' AND mtpd.metatags_keywords !='') OR (mtpd.metatags_description LIKE '%�%' AND mtpd.metatags_description !='') OR pd.products_description LIKE '%�%') ))]
    Leider kenne ich mich mit PHP nicht sehr gut aus, von daher wäre es schön, wenn mir jemand auf die Sprünge und evtl. sogar beim Lösen des Problems helfen könnte.

    Ich wollte mit dem Shop eigentlich kommenden Montag onlline gehen, aber mit dem Fehler wird das wohl nix. :(

    #2
    hi

    könntest du bitte das ergebnis folgender abfragen posten:

    1) SHOW VARIABLES LIKE 'character_set%';
    2) SHOW VARIABLES LIKE 'collation%';
    3) dump der tabellen: products , manufacturers , products_description , categories , products_to_categories , meta_tags_products_description
    kann ruhig ohne daten sein

    am leichtesten geht der spass via phpMyAdmin

    Kommentar


      #3
      Oha! Da hast Du mich aber jetzt voll auf dem falschen Fuß erwischt.

      Wo genau muß ich das über phpmyadmin abfragen?!

      Kommentar


        #4
        du rufst phpMyAdmin auf
        wählst deine datenbank aus
        nun klickst du auf SQL und gibst ins eingabefeld
        Code:
        SHOW VARIABLES LIKE 'character_set%';
        klickst auf OK
        das ergebnis schaut in etwa so aus:
        Code:
        [FONT=Courier New]Variable_name     Value
        character_set_client     utf8
        character_set_connection     utf8
        character_set_database     utf8
        character_set_filesystem     binary
        character_set_results     utf8
        character_set_server     utf8
        character_set_system     utf8
        character_sets_dir     /usr/share/mysql/charsets[/FONT]/
        dieses kopierst du nun
        & weiter gehts zu 2)

        nun wählst du rechts die 1. der angegebenen tabellen aus & klickst anschliessend auf EXPORTIEREN; bei DATEN das hackerl weg; nun kommt in etwa sowas raus
        Code:
        CREATE TABLE products (
          products_id int(11) NOT NULL auto_increment,
          products_type int(11) NOT NULL default '1',
          products_quantity float NOT NULL default '0',
          products_model varchar(32) default NULL,
          products_image varchar(64) default NULL,
          products_price decimal(15,4) NOT NULL default '0.0000',
          products_virtual tinyint(1) NOT NULL default '0',
          products_date_added datetime NOT NULL default '0001-01-01 00:00:00',
          products_last_modified datetime default NULL,
          products_date_available datetime default NULL,
          products_weight float NOT NULL default '0',
          products_status tinyint(1) NOT NULL default '0',
          products_tax_class_id int(11) NOT NULL default '0',
          manufacturers_id int(11) default NULL,
          products_ordered float NOT NULL default '0',
          products_quantity_order_min float NOT NULL default '1',
          products_quantity_order_units float NOT NULL default '1',
          products_priced_by_attribute tinyint(1) NOT NULL default '0',
          product_is_free tinyint(1) NOT NULL default '0',
          product_is_call tinyint(1) NOT NULL default '0',
          products_quantity_mixed tinyint(1) NOT NULL default '0',
          product_is_always_free_shipping tinyint(1) NOT NULL default '0',
          products_qty_box_status tinyint(1) NOT NULL default '1',
          products_quantity_order_max float NOT NULL default '0',
          products_sort_order int(11) NOT NULL default '0',
          products_discount_type tinyint(1) NOT NULL default '0',
          products_discount_type_from tinyint(1) NOT NULL default '0',
          products_price_sorter decimal(15,4) NOT NULL default '0.0000',
          master_categories_id int(11) NOT NULL default '0',
          products_mixed_discount_quantity tinyint(1) NOT NULL default '1',
          metatags_title_status tinyint(1) NOT NULL default '0',
          metatags_products_name_status tinyint(1) NOT NULL default '0',
          metatags_model_status tinyint(1) NOT NULL default '0',
          metatags_price_status tinyint(1) NOT NULL default '0',
          metatags_title_tagline_status tinyint(1) NOT NULL default '0',
          PRIMARY KEY  (products_id),
          KEY idx_products_date_added_zen (products_date_added),
          KEY idx_products_status_zen (products_status),
          KEY idx_products_date_available_zen (products_date_available),
          KEY idx_products_ordered_zen (products_ordered),
          KEY idx_products_model_zen (products_model),
          KEY idx_products_price_sorter_zen (products_price_sorter),
          KEY idx_master_categories_id_zen (master_categories_id),
          KEY idx_products_sort_order_zen (products_sort_order),
          KEY idx_manufacturers_id_zen (manufacturers_id)
        ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
        dies wiederholst du mit allen angegeben tabellen

        am besten ist es, wenn du die texte in notepad hineinkopierst & die datei dann dem post hinzufügst

        Kommentar


          #5
          Habe fertig.

          Ich hoffe, Du kannst damit was anfangen und ich muß nicht den ganzen Shop neuinstallieren.

          Kommentar


            #6
            Nun habe ich den Shop in einem anderen Verzeichnis auf dem Server noch einmal neu installiert und auch eine neue Datenbank dafür angelegt.

            Und in diesem jungfräulichen Shop tritt exakt der gleiche Fehler auf, sobald 'ä', 'ö', 'ü' oder 'ß' im Suchfeld vorkommt.

            Edith: Mir ist gerade noch etwas aufgefallen. Und zwar das 'Hinzugefügt am...' in der Artikelübersicht. Da steht 'Hinzugef�gt am:'!!
            Könnte das auch etwas mit dem anderen Fehler zu tun haben?!
            Zuletzt geändert von Ignatius; 13.12.2008, 16:32.

            Kommentar


              #7
              So, einen Teil hab ich inzwischen hinbekommen. Das 'ü' in 'Hinzugefügt am...' ist wieder da. *strike*
              Der Texteditor, den ich verwendet hatte, hat die Dateien nicht richtig gespeichert.
              Ich hatte übrigens Webocton Scriptly verwendet. Nun benutze ich UltraEdit.

              Auch auf die Gefahr hin, daß ich mir die Arbeit nachher vergeblich mache, aber ich werde jede Datei mit UE öffnen und anschließend wieder als UTF-8 ohne BOM abspeichern.
              Könnte eine lange Nacht werden.

              Kommentar


                #8
                So, hab das Problem in den Griff bekommen. Das Problem lag in der Kollation der Datenbank.

                Kommentar


                  #9
                  Zitat von Ignatius Beitrag anzeigen
                  So, hab das Problem in den Griff bekommen. Das Problem lag in der Kollation der Datenbank.
                  Was hast Du genau geändert?
                  Wenn Du jetzt nach einem Artikel mit Umlauten suchst, wird der auch gefunden oder ist nur die Fehlermeldung weg?

                  Kommentar


                    #10
                    Artikel mit Umlauten werden immer noch nicht gefunden. Ich habe nur die Fehlermeldung weg bekommen.

                    Die DB war komplett in iso-latin und nicht in utf-8.

                    Kommentar


                      #11
                      Ich kann das im übrigen bestätigen. Bei mir spuckt er diese Fehlermeldung auch raus.
                      Meine Dumpdatei gleicht der von Ignatius.

                      Da ist irgendwo ein dicker Hund begraben.

                      Gruß
                      MaleBorg

                      Kommentar


                        #12
                        Die Fehlermeldungn an sich bekommst Du weg, wenn Du die Kollation der DB auf utf-8 umstellst.
                        Nur hilft das leider noch nicht, um die "Umlaut-Artikel" auch über die Suche zu finden.

                        Kommentar


                          #13
                          Heureka, ich habs gefunden. Bin zwar kein SQL Spezi, aber ich tüftel gerne.

                          In PHPMyAdmin reingehen und dann in den folgenden Tabellen was verändern
                          products , manufacturers , products_description , categories , products_to_categories , meta_tags_products_description

                          Vorgehensweise:
                          Ich wähle die Tabelle products aus, gehe auf Operation und stelle um von Latin1 auf utf8_unicode_ci

                          Danach klicke ich auf Struktur und schau mir an welche Felder ebenfalls die Kollation Latin1 haben. Die bearbeite ich jeweils und ändere auch von latin1 nach utf8_unicode_ci.

                          Das Spielchen wiederhole ich für alle oben genannten Tabellen und siehe da, der Fehler ist weg und er findet den Artikel mit Umlaut.

                          Gruß
                          MaleBorg

                          PS: Das heisst für uns aber auch, wir müssen unbedingt bei der Installationsroutine das ausbessern und dafür sorgen, das immer die korrekte Kollation angelegt wird.

                          Kommentar


                            #14
                            Ich möchte Dich ja nicht ärgern, aber das hat bei leider nichts gebracht. :(

                            Ich vermute, ich muß die komplette DB in utf-8 umwandeln. *schnief*

                            Kommentar


                              #15
                              Ich bin mal so frei und mache das Thema nochmal auf

                              Ich hab das identische Problem mit der Suche bei Umlauten. Die hier besprochene Fehlerbehebung hilft insofern, dass jetzt keine Fehlermeldungen mehr kommen. Gefunden wird allerdings immer noch kein Artikel mit Umlaut im Namen.

                              Datenbank und alle Tabellen haben jetzt als Kollation utf8_general_ci - zusätzlich hab ich in den oben erwähnten Tabellen alle Felder auf utf8_general_ci gesetzt. (Komplett alle Tabellen durchzugehen dürfte m.E. nichts bringen)

                              Kommentar

                              Info zu diesem Forenarchiv:
                              Mit Release von 1.5.7 wurde die deutsche Zen Cart Version auf eine reine DIY-Lösung umgestellt.
                              Für einen Support via Forum stehen keine personellen und zeitlichen Ressourcen mehr zur Verfügung.
                              Dieses Supportforum bleibt im Nur-Lesen-Modus als Wissensarchiv noch online verfügbar.
                              PM Funktionalität, Registrierung und Posten neuer Beiträge sind deaktiviert.
                              Zugriff auf Anhänge in den Postings ist auch ohne Registrierung/Einloggen möglich.
                              FAQ und Downloadbereich des Forums wurden in die neue umfangreiche Knowledgebase auf der zen-cart-pro.at Website übernommen.

                              Das Development der deutschen Zen Cart Version geht wie bisher auf Github weiter.
                              Wir werden auch weiterhin neue Versionen bereitstellen und die Onlinedokumentation/Knowledgebase aktualisieren.
                              Fehler in der Software können auf Github als Issues gemeldet werden.
                              Follow us
                              aktuelle version
                              Zen Cart 1.5.7g deutsch
                              vom 12.12.2023
                              [Download]
                              Lädt...
                              X