Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel

    Sick

    • Fördermitglied
    • Beiträge: 570
    • Geschlecht:
    Hallo Leute,

    ich habe bei einem Shop Produkte über einen CSV importiert.

    Schlau, wie ich war, habe ich allerdings die ganzen Umlaute (ä ü ö ß) mit named entities ersetzt.

    Code: PHP  [Auswählen]
    (ä ö usw.)
    Das ist ja ansich kein Problem, allerdings werden jetzt in dem Modul "Komfortabler PDF-Katalog" die Entities nicht umgewandelt und es steht dann eben z.B.

    Code: PHP  [Auswählen]
    Größe
    statt Größe.

    Ich würde es ja einfach wieder in der CSV ändern, aber dann sind alle meine Attribute wieder weg und das ist mir echt zu viel Arbeit.

    Es gibt ja einen SQL-Befehl für Zeichenänderungen, aber wie kann ich den in modified eCommerce Shopsoftware anwenden?

    Also auch auf die richtigen Tabellen?

    Ich hoffe sowas hat schonmal jemand gemacht und kann mir weiter helfen.

    Vielen Dank im Voraus

    (PS: Werde heute Abend eine neue, berichtigte Anleitung für den Einbau des PDF-Katalogs in Version 1.05 posten)



    Linkback: https://www.modified-shop.org/forum/index.php?topic=9913.0

    web28

    • modified Team
    • Beiträge: 9.404
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #1 am: 09. Dezember 2010, 14:51:48
    Es wird doch am einfachsten sein, dem PDF Modul beizubringen, das es auch mit htmlentities zurechtkommt. Ansonsten ist das Modul doch Mist.

    Gruss Web28

    Sick

    • Fördermitglied
    • Beiträge: 570
    • Geschlecht:
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #2 am: 09. Dezember 2010, 15:02:15
    Leider ist das Modul ziemlicher Mist. :lol1:

    Ne Quatsch, das Modul macht ja was ich will, nur eben nicht richtig.
    Leider ist das Ding so verschachtelt programmiert, das ich da nur noch Bahnhof verstehe.
    (Kann kaum PHP)

    Es gibt wohl auch ein paar Zeilen, die auf die Umlaute eingehen, aber was die jetzt machen, oder auch nicht, erschließt sich mir leider nicht.

    Für mich wäre halt die einfachere und vorallem wesentlich schnellere Lösung, in der Datenbank die betreffenden Entities zu ersetzen.

    Gruß

    web28

    • modified Team
    • Beiträge: 9.404
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #3 am: 09. Dezember 2010, 15:41:35
    Über den FCKEditor werden alle Umlaute als entities in die Datenbank gespeichert. Deshalb halte ich es für relativ sinnfrei ein PDF Modul zu benutzen, das damit nicht umgehen kann.

    billybob

    • Fördermitglied
    • Beiträge: 563
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #4 am: 09. Dezember 2010, 16:16:55
    Hi Sick,
    was Du suchst ist die MySQL string funktion replace.

    Bevor Du sie anwendest UNBEDINGT DATENSICHERUNG DER TABELLE MACHEN!!!!!!!!!!

    Um Beispielsweise die Umlaute in der Produktkurzbeschreibung in der Tabelle products_description zu ändern führst Du folgendes aus:

    Code: SQL  [Auswählen]
    UPDATE products_description
     SET products_short_description=REPLACE(products_short_description,'ü','ü')
    USE AT YOUR OWN RISK!!!

    MIST DAS FORUM ZERHACKT DEN QUELLCODE.  ü muss natürlich zusammen (ohne Leeerzeichen) geschrieben werden.

    Gruß
    billybob

    Sick

    • Fördermitglied
    • Beiträge: 570
    • Geschlecht:
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #5 am: 09. Dezember 2010, 19:12:28
    Danke erstmal.

    Also ihr habt natürlich Recht, dass das Mist ist, wenn die Umlaute nicht richtig dargestellt werden.
    Im Code des PDF-Katalogs sind eigentlich solche Funktionen erhalten:

    Code: PHP  [Auswählen]
    function cleanName($name) {
            $search_array=array('ä','Ä','ö','Ö','ü','Ü','ä','Ä','ö','Ö','ü','Ü', 'ß', 'ß');
            $replace_array=array('ae','Ae','oe','Oe','ue','Ue','ae','Ae','oe','Oe','ue','Ue', 'ss', 'ss');
            $name=str_replace($search_array,$replace_array,$name);          

         $replace_param='/[^a-zA-Z0-9]/';
         $name=preg_replace($replace_param,'-',$name);
         return $name;
    }
     
    Ausgegeben wird aber trotzdem ü usw.

    Habt ihr da vielleicht eine Idee?

    EDIT: Ich habe jetzt mal ein neues Produkt erstellt mit Umlauten. Alle anderen Produkte kommen aus der CSV in der ich Umlaute mit &u uml; usw. angepasst hatte.

    Wenn man das Produkt im Shop direkt erstellt, wird es auch im Katalog korrekt ausgegeben.

    Warum kann ich mir leider nicht erklären.

    billybob

    • Fördermitglied
    • Beiträge: 563
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #6 am: 09. Dezember 2010, 19:34:57
    Kannst Du mal eine Zeile aus der CSV hier einstellen?
    Gruß
    billybob

    Sick

    • Fördermitglied
    • Beiträge: 570
    • Geschlecht:
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #7 am: 09. Dezember 2010, 19:47:41
    Moin billybob,

    also ich hab jetzt rausgefunden, dass die entities &u uml; usw. nicht in den Quelltext geschrieben wurden, sondern direkt in den Text.
    Wenn ich ein Produkt editiere hatte ich also im Titel stehen "Müle".

    Dank deines replace Befehls konnte ich das jetzt super gut lösen. Hab einfach die ganzen Umlaute in der Tabelle products_name ersetzt.

    Vielen Dank an dich.

    billybob

    • Fördermitglied
    • Beiträge: 563
    SQL-Befehl - Ändern der Umlaute in Artikelbeschreibung und Titel
    Antwort #8 am: 09. Dezember 2010, 19:55:05
    Moin moin,
    schön, dass ich helfen konnte.

    Grüße
    billybob

    5 Antworten
    3010 Aufrufe
    01. November 2010, 10:59:16 von h-h-h
    11 Antworten
    7289 Aufrufe
    09. Oktober 2017, 12:25:35 von Karfunkel
    12 Antworten
    8701 Aufrufe
    11. Dezember 2010, 10:34:35 von Tomcraft