Hallo Leute.
Ich habe ein eigenartiges Problem mit einer SQL-Anweisung.
Es handelt sich um eine INSERT-Query, die komischerweise bei einem Umlaut die Zeichenkette genau ab diesem Umlaut abbricht.
Wenn die Zeichenkette also "Popularität" ist, wird nur "Popularit" gespeichert...
Das eigenartige dabei ist, dass bei einem UPDATE die Phrase korrekt gespeichert wird, wenn man also etwas editiert.
Die SQL-Anweisung wird bei Aktivierung des Plugins durchgeführt.
Anbei ist der Code.
Ich habe versucht, die Zeichenketten mit $wpdb->escape zu speichern oder auch mit mb_convert_encoding, leider ohne Erfolg.
Es folgt also der Ausschnitt der Funktion
PHP
// Phrasen
$wpdb->query('
CREATE TABLE `'.$wpdb->prefix.'plugin_affiliate_shop_phrase` (
`phrase_id` VARCHAR(255),
`language` VARCHAR(3),
`phrase` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT \'\',
`location` VARCHAR(255),
PRIMARY KEY(`phrase_id`, `language`, `location`)
)
');
// Phrasen einfügen
$wpdb->query('
INSERT INTO `'.$wpdb->prefix.'plugin_affiliate_shop_phrase`
(`phrase_id`, `language`, `phrase`, `location`)
VALUES
(\'advertisement_block_1\', \'de\', \'Werbeblock 1\', \'advertisement\'),
(\'advertisement_block_2\', \'de\', \'Werbeblock 2\', \'advertisement\'),
(\'advertisement_block_3\', \'de\', \'Werbeblock 3\', \'advertisement\'),
(\'categories\', \'de\', \'Kategorien\', \'global\'),
(\'category\', \'de\', \'Kategorie\', \'global\'),
(\'error_uncallable_ajax_action\', \'de\', \'AJAX-Fehler: Unbekannte Aktion\', \'global\'),
(\'last_bought\', \'de\', \'Zuletzt Gekauft\', \'global\'),
(\'topseller\', \'de\', \'Topseller\', \'global\'),
(\'price\', \'de\', \'Preis\', \'last_bought\'),
(\'art_nr\', \'de\', \'Art. Nr.\', \'productdetails\'),
(\'average_rating\', \'de\', \'Durchschnittliche Bewertung\', \'productdetails\'),
(\'buy_now\', \'de\', \'Jetzt Kaufen\', \'productdetails\'),
(\'create_new_review\', \'de\', \'Neue Kundenrezension Erstellen\', \'productdetails\'),
(\'create_review\', \'de\', \'Kundenrezension Erstellen\', \'\productdetails\'),
(\'description\', \'de\', \'Beschreibung\', \'productdetails\'),
(\'error_url_missing_product_id\', \'de\', \'Es wurde keine Produkt-ID in der URL übergeben\', \'productdetails\'),
(\'find_at_ebay\', \'de\', \'Bei Ebay finden\', \'productdetails\'),
(\'memorise_product\', \'de\', \'Produkt merken\', \'productdetails\'),
(\'no_reviews_created_yet\', \'de\', \'Es wurden noch keine Kundenrezensionen erstellt\', \'productdetails\'),
(\'rating\', \'de\', \'Bewertung\', \'productdetails\'),
(\'recommend\', \'de\', \'Weiterempfehlen\', \'productdetails\'),
(\'reviews\', \'de\', \'Kundenrezensionen\', \'productdetails\'),
(\'agree_terms_and_conditions\', \'de\', \'Ich stimme den <a href="javascript:void(0)" onclick="$(\\\'#terms_and_conditions\\\').dialog(\\\'open\\\')">AGB</a> und <a href="javascript:void(0)" onclick="$(\\\'#privacy_policy\\\').dialog(\\\'open\\\')">Datenschutzrichtlinien</a> zu\', \'productdetails__create_review\'),
(\'email\', \'de\', \'Email\', \'productdetails__create_review\'),
(\'error_must_agree_terms\', \'de\', \'Um eine Rezension zu verfassen, muss den AGB und der Datenschutzerklärung zugestimmt werden\', \'productdetails__create_review\'),
(\'error_product_id_required\', \'de\', \'Es wurde keine Produkt-ID angegeben\', \'productdetails__create_review\'),
(\'error_rated_within_24_hours\', \'de\', \'Das Produkt wurde bereits bewertet, es kann nur einmal innerhalb von 24 Stunden bewertet werden\', \'productdetails__create_review\'),
(\'error_rating_required\', \'de\', \'Es muss eine Bewertung angegeben werden\', \'productdetails__create_review\'),
(\'error_rating_text_required\', \'de\', \'Es muss eine Bewertung und ein Text angegeben werden\', \'productdetails__create_review\'),
(\'name\', \'de\', \'Name\', \'productdetails__create_review\'),
(\'rating\', \'de\', \'Bewertung\', \'productdetails__create_review\'),
(\'review_create_success\', \'de\', \'Die Rezension wurde erfolgreich gespeichert\', \'productdetails__create_review\'),
(\'text\', \'de\', \'Text\', \'productdetails__create_review\'),
(\'title\', \'de\', \'Titel\', \'productdetails__create_review\'),
(\'email\', \'de\', \'Email\', \'productdetails__recommend\'),
(\'error_product_not_exist\', \'de\', \'Das Produkt, welches weiterempfohlen werden soll, wurde nicht gefunden\', \'productdetails__recommend\'),
(\'error_required_name_and_email\', \'de\', \'Es muss ein Name und eine Email-Adresse angegeben werden\', \'productdetails__recommend\'),
(\'mail_recommend_product_body\', \'de\', \'Ein Produkt unseres Shops wurde ihnen empfohlen.\', \'productdetails__recommend\'),
(\'mail_subject_recommend_product\', \'de\', \'Produktweiterempfehlung\', \'productdetails__recommend\'),
(\'name\', \'de\', \'Name\', \'productdetails__recommend\'),
(\'product\', \'de\', \'Produkt\', \'productdetails__recommend\'),
(\'recommend_success\', \'de\', \'Das Produkt wurde erfolgreich weiterempfohlen - Die Email wurde verschickt\', \'productdetails__recommend\'),
(\'sender\', \'de\', \'Sender\', \'productdetails__recommend\'),
(\'confirm_remove_product_memory_item\', \'de\', \'Soll das Produkt wirklich vom Merkzettel entfernt werden?\', \'productmemory\'),
(\'error_product_id_required\', \'de\', \'Es wurde keine Produkt-ID angegeben\', \'productmemory\'),
(\'memory_is_empty\', \'de\', \'Der Merkzettel ist leer\', \'productmemory\'),
(\'product_already_in_memory\', \'de\', \'Das Produkt befindet sich bereits auf dem Merkzettel\', \'productmemory\'),
(\'product_memorise_success\', \'de\', \'Das Produkt befindet sich nun auf dem Merkzettel\', \'productmemory\'),
(\'product_memory\', \'de\', \'Merkzettel\', \'productmemory\'),
(\'product_memory_amount_exceeded_limit\', \'de\', \'Die maximale Anzahl der gemerkten Produkte wurde erreicht\', \'productmemory\'),
(\'product_not_in_memory\', \'de\', \'Das Produkt konnte auf dem Merkzettel nicht gefunden werden\', \'productmemory\'),
(\'remove_from_memory\', \'de\', \'Vom Merkettel entfernen\', \'productmemory\'),
(\'at_ebay\', \'de\', \'Bei Ebay\', \'productoverview\'),
(\'details\', \'de\', \'Details\', \'productoverview\'),
(\'larger_image\', \'de\', \'Größeres Bild\', \'productoverview\'),
(\'memorise\', \'de\', \'Merken\', \'productoverview\'),
(\'name_ascending\', \'de\', \'Name aufsteigend\', \'productoverview\'),
(\'name_descending\', \'de\', \'Name absteigend\', \'productoverview\'),
(\'page\', \'de\', \'Seite\', \'productoverview\'),
(\'popularity_ascending\', \'de\', \'Popularität aufsteigend\', \'productoverview\'),
(\'popularity_descending\', \'de\', \'Popularität absteigend\', \'productoverview\'),
(\'price\', \'de\', \'Preis\', \'productoverview\'),
(\'price_ascending\', \'de\', \'Preis aufsteigend\', \'productoverview\'),
(\'price_descending\', \'de\', \'Preis absteigend\', \'productoverview\'),
(\'show_articles_per_page\', \'de\', \'Artikel pro Seite anzeigen\', \'productoverview\'),
(\'at_ebay\', \'de\', \'Bei Ebay\', \'productsearch\'),
(\'category_selection\', \'de\', \'Kategorieauswahl\', \'productsearch\'),
(\'details\', \'de\', \'Details\', \'productsearch\'),
(\'error_bad_parameters\', \'de\', \'Es wurden keine ausreichenden Parameter für die Suche übergeben\', \'productsearch\'),
(\'larger_image\', \'de\', \'Größeres Bild\', \'productsearch\'),
(\'memorise\', \'de\', \'Merken\', \'productsearch\'),
(\'name_ascending\', \'de\', \'Name aufsteigend\', \'productsearch\'),
(\'name_descending\', \'de\', \'Name absteigend\', \'productsearch\'),
(\'order_by\', \'de\', \'Sortieren nach\', \'productsearch\'),
(\'page\', \'de\', \'Seite\', \'productsearch\'),
(\'popularity_ascending\', \'de\', \'Popularität aufsteigend\', \'productsearch\'),
(\'popularity_descending\', \'de\', \'Popularität absteigend\', \'productsearch\'),
(\'price\', \'de\', \'Preis\', \'productsearch\'),
(\'price_ascending\', \'de\', \'Preis aufsteigend\', \'productsearch\'),
(\'price_descending\', \'de\', \'Preis absteigend\', \'productsearch\'),
(\'productname_keyword\', \'de\', \'Produktname / Stichwort\', \'productsearch\'),
(\'productsearch\', \'de\', \'Produktsuche\', \'productsearch\'),
(\'show_articles_per_page\', \'de\', \'Artikel pro Seite anzeigen\', \'productsearch\'),
(\'search\', \'de\', \'Suchen\', \'productsearch\'),
(\'privacy_policy\', \'de\', \'Datenschutzerklärung-Text\', \'terms_and_conditions\'),
(\'terms_and_conditions\', \'de\', \'AGB-Text\', \'terms_and_conditions\'),
(\'price\', \'de\', \'Preis\', \'topsellers\')
');
Alles anzeigen