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: "meta title" und Admin-Backend in utf-8 ausgeben

    emiray

    • Neu im Forum
    • Beiträge: 24
    "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #15 am: 21. August 2010, 13:15:02
    Ja bei den Metatags kenne ich mich ganz und garnicht aus. Ich habe zwar versucht einige Stellen im Code auszukommentieren aber so mit einfacher probiererei geht da leider nichts. Ich habe Zeile 157 -195 auskommentiert. Diese stelle hier:
    Code: PHP  [Auswählen]
    //      Aufrumen: Umlaute und Sonderzeichen wandeln.
    // ---------------------------------------------------------------------------------------
            function metaNoEntities($Text){
                $translation_table = get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
                $translation_table = array_flip($translation_table);
                $Return= strtr($Text,$translation_table);
                return preg_replace( '/&#(\d+);/me',"chr('\\1')",$Return);
            }
            function metaHtmlEntities($Text) {
                    $translation_table=get_html_translation_table(HTML_ENTITIES,ENT_QUOTES);
                    $translation_table[chr(38)] = '&';
                    return preg_replace("/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/","&",strtr($Text,$translation_table));
            }
    // ---------------------------------------------------------------------------------------
    //      Array basteln: Text aufbereiten -> Array erzeugen -> Array unique ...
    // ---------------------------------------------------------------------------------------
            function prepareWordArray($Text) {
                    //$Text = str_replace(array(' ','\t','\r','\n','\b'),' ',strip_tags($Text));
                    $Text = str_replace(array(' ','\t','\r','\n','\b'),' ',preg_replace("/<[^>]*>/",' ',$Text)); // <-- Besser bei Zeilenumbrchen
                    $Text = metaHtmlEntities(metaNoEntities(strtolower($Text)),ENT_QUOTES);
                    $Text = preg_replace("/\s\-|\-\s/",' ',$Text); // <-- Gegen Trenn- und Gedankenstriche
                    $Text = preg_replace("/(&[^aoucizens][^;]*;)/",' ',$Text);
                    $Text = preg_replace("/[^0-9a-z|\-|&|;]/",' ',$Text); // <-- Bindestriche drin lassen
                    $Text = trim(preg_replace("/\s\s+/",' ',$Text));
                    return $Text;
            }
            function makeWordArray($Text) {
                    $Text = func_get_args();
                    $Words = array();
                    foreach($Text as $Word) {
                            if((!empty($Word))&&(is_string($Word))) {
                                    $Words = array_merge($Words,explode(' ',$Word));
                            }
                    }
                    return array_unique($Words);
            }
            function WordArray($Text) {
                    return makeWordArray(prepareWordArray($Text));
            }
    Aber es steht ja alles zueinander in Beziehung, wovon ich leider keine Ahnung habe. Und dazu habe ich bei google nichts passendes gefunden.

    web28

    • modified Team
    • Beiträge: 9.404
    "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #16 am: 21. August 2010, 13:51:15
    Alles wieder einkommentieren und dann ändere diese Funktionen so ab:

    Code: PHP  [Auswählen]
    // ---------------------------------------------------------------------------------------
    function metaNoEntities($Text){
        return html_entity_decode ($Text, ENT_QUOTES, 'UTF-8');
    }
    function metaHtmlEntities($Text, $quote_style = ENT_QUOTES) {
        return htmlspecialchars($Text, $quote_style);
    }
    // ---------------------------------------------------------------------------------------
    //        create an Array

    // ---------------------------------------------------------------------------------------
    function prepareWordArray($Text) {
        $Text = str_replace(array(' ','\t','\r','\n','\b'), ' ', strip_tags($Text));
        $Text = metaNoEntities(strtolower($Text));
        $Text = preg_replace("/(&[^;]*;)/", ' ', $Text);
        $Text = preg_replace("/([^0-9a-zäüöß|\-])/",' ',$Text);
        $Text = trim(preg_replace("/\s\s+/", ' ', $Text));
        return ($Text);
    }

    emiray

    • Neu im Forum
    • Beiträge: 24
    "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #17 am: 21. August 2010, 21:10:23
    Jo jetzt funktioniert alles bestens!
    Du bist echt klasse! :thumbs:

    Jetzt spinnen bei mir die Mails, muss mich mal damit ein bisschen ausseinandersetzen. Kein leichter brocken diese Umstellung. :crazy:  

    Hab jetzt stunden mit der Installation von EmailEditorV2 verbracht, da zu diesem Modul ein Thema existiert wo die Zeichenkodierung umprogrammiert werden kann. Was stellt sich nach der Installation heraus? Dieses Modul unterstützt nur 2 Sprachen: Deutsch und Englisch.

    Hast du für diesen Fall auch eine Empfehlung oder Lösung?

    web28

    • modified Team
    • Beiträge: 9.404
    "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #18 am: 21. August 2010, 22:24:34
    modified eCommerce Shopsoftware verwendet PHPMailer und damit sollte UTF-8 kein Problem sein. Es ist aber kniffelig überall im Shop die richtigen Einstellungen zu setzten.

    emiray

    • Neu im Forum
    • Beiträge: 24
    "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #19 am: 30. August 2010, 09:40:43
    Hallo,

    hab jetzt das Internet durchsucht nach einer Lösung für phpmailer. Leider bis jetzt nichts brauchbares.

    Die Sonderzeichen im Standardtext kann ich mit HTML Entities korrekt darstellen lassen ist kein Problem. Wenn ich die Betreffzeile im Admin Backend eingebe kommen auch die Sonderzeichen in der Betreffzeile korrekt an. Nur alle Daten die aus der Datenbank gezogen werden, dort werden die Sonderzeichen und Umlaute zerschossen. Auch beim Datum die in der Betreffzeile steht werden die Sonderzeichen nicht korrekt angezeigt.

    Kann mir jemand sagen welche Dateien, die Daten für die Mail aus der Datenbank holt und welche Datei für die Übermittlung zuständig ist? class.phpmailer.php? oder greifen da andere Dateien - Scripte ein?

    toppi

    • Viel Schreiber
    • Beiträge: 651
    Re: "meta title" und Admin-Backend in utf-8 ausgeben
    Antwort #20 am: 08. März 2013, 22:24:39
    Alles was ich hier gelesen habe, trifft auch bei mir so zu. Einziger Unterschied ich habe keine suchmaschinenfreundlichen Urls, sondern xtc 3.04 sp.2.1.

    Die Urls sehen im Browser so aus:
    http://www.example.com/product_info.php?info=p580_--bertopf-Zwerg-Blumentopf.html

    Wer kann mir hier bezüglich des Titels weiterhelfen?

    [EDIT Tomcraft 16.06.2019: Domain auf Wunsch des Benutzers anonymisiert.]