[TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Björn Hahnefeld
b.hahnefeld at nal-vonminden.com
Wed Dec 10 13:42:19 CET 2014
An und für sich eine gute Idee. Die Daten kommen allerdings bereits mit "?" an :(
--
<h3>Zawarto?? opakowania:</h3>
<h3><ul style="font-size: 12px; font-weight: normal; "><li>Paczka z 25 Multi-tests cups</li><li>1 instrukcja</li></ul></h3>
--
Also das ist der Wert, der im DB-Feld stehen soll. Im phpMyAdmin sehe ich aber, dass die Sonderzeichen enthalten sind. Demnach könnte/muss es doch ein Codierungsproblem im Skript sein?!?
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Marc Willmann
Gesendet: Dienstag, 9. Dezember 2014 14:10
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Hol Dir das Wort aus der Datenbank und lass Dir die Zeichencodes der Zeichen anzeigen; dann weißt Du ja, was die DB liefert und PHP erkennt.
Am 09.12.14 13:56, schrieb Björn Hahnefeld:
> Vielleicht noch eine Anmerkung, Marc:
>
> Mein var_dump kommt mit den Zeichen nicht klar. Wenn ich die in Plain-Text rein schreibe, werden die falsch dargestellt. Das Entity wird korrekt angezeigt. Demnach wundert es mich nicht, dass die Zeichen auch nicht gefunden werden :(. Doch wie kann ich das fixen?
>
> --
> array(100) { [" "]=> string(6) " " ["¡"]=> string(7) "¡" ["¢"]=>
> string(6) "¢" ["£"]=> string(7) "£" ["¤"]=> string(8) "¤" ["¥"]=>
> string(5) "¥" ["¦"]=> string(8) "¦" ["§"]=> string(6) "§" ["¨"]=>
> string(5) "¨" ["©"]=> string(6) "©" ["ª"]=> string(6) "ª" ["«"]=>
> string(7) "«" ["¬"]=> string(5) "¬" [""]=> string(5) "" ["®"]=>
> string(5) "®" ["¯"]=> string(6) "¯" ["°"]=> string(5) "°" ["±"]=>
> string(8) "±" ["²"]=> string(6) "²" ["³"]=> string(6) "³" ["´"]=>
> string(7) "´" ["µ"]=> string(7) "µ" ["¶"]=> string(6) "¶" ["·"]=>
> string(8) "·" ["¸"]=> string(7) "¸" ["¹"]=> string(6) "¹" ["º"]=>
> string(6) "º" ["»"]=> string(7) "»" ["¼"]=> string(8) "¼" ["½"]=>
> string(8) "½" ["¾"]=> string(8) "¾" ["¿"]=> string(8) "¿" ["À"]=>
> string(8) "À" ["Á"]=> string(8) "Á" ["Â"]=> string(7) "Â" ["Ã"]=>
> string(8) "Ã" ["Ä"]=> string(6) "Ä" ["Å"]=> string(7) "Å" ["Æ"]=>
> string(7) "Æ" ["Ç"]=> string(8) "Ç" ["È"]=> string(8) "È" [
"
É"]=> string(8) "É" ["Ê"]=> string(7) "Ê" ["Ë"]=> string(6) "Ë" ["Ì"]=> string(8) "Ì" ["Í"]=> string(8) "Í" ["Î"]=> string(7) "Î" ["Ï"]=> string(6) "Ï" ["Ð"]=> string(5) "Ð" ["Ñ"]=> string(8) "Ñ" ["Ò"]=> string(8) "Ò" ["Ó"]=> string(8) "Ó" ["Ô"]=> string(7) "Ô" ["Õ"]=> string(8) "Õ" ["Ö"]=> string(6) "Ö" ["×"]=> string(7) "×" ["Ø"]=> string(8) "Ø" ["Ù"]=> string(8) "Ù" ["Ú"]=> string(8) "Ú" ["Û"]=> string(7) "Û" ["Ü"]=> string(6) "Ü" ["Ý"]=> string(8) "Ý" ["Þ"]=> string(7) "Þ" ["ß"]=> string(7) "ß" ["à"]=> string(8) "à" ["á"]=> string(8) "á" ["â"]=> string(7) "â" ["ã"]=> string(8) "ã" ["ä"]=> string(6) "ä" ["å"]=> string(7) "å" ["æ"]=> string(7) "æ" ["ç"]=> string(8) "ç" ["è"]=> string(8) "è" ["é"]=> string(8) "é" ["ê"]=> string(7) "ê" ["ë"]=> string(6) "ë" ["ì"]=> string(8) "ì" ["í"]=> string(8) "í" ["î"]=> string(7) "î" ["ï"]=> string(6) "ï" ["ð"]=> string(5) "ð" ["ñ"]=> string(8) "ñ" ["ò"]=> string(
8
) "ò" ["ó"]=> string(8) "ó" ["ô"]=> string(7) "ô" ["õ"]=> string(8) "õ" ["ö"]=> string(6) "ö" ["÷"]=> string(8) "÷" ["ø"]=> string(8) "ø" ["ù"]=> string(8) "ù" ["ú"]=> string(8) "ú" ["û"]=> string(7) "û" ["ü"]=> string(6) "ü" ["ý"]=> string(8) "ý" ["þ"]=> string(7) "þ" ["ÿ"]=> string(6) "ÿ" ["Ć"]=> string(6) "Ć" ["ć"]=> string(6) "ć" ["Åš"]=> string(6) "Ś" ["Å›"]=> string(6) "ś" }
> --
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org
> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Marc
> Willmann
> Gesendet: Dienstag, 9. Dezember 2014 13:18
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und
> Sonderzeichen via PHP-Skript
>
> Am 09.12.14 13:17, schrieb Björn Hahnefeld:
>> Die Ausgabe sieht wie folgt aus:
>> --
>> echo "$title\n";
>> echo "$description_extra\n";
>> echo "$tx_nalmultitest_tests\n\n\n";
>> --
>>
>> -->
>>
>> --
>> Drug-Screen-Cup Side Panel 5CD-AC-C
>> <h3>Zawarto?? opakowania:</h3>
>> <h3><ul style="font-size: 12px; font-weight: normal; "><li>Paczka z
>> 25 Multi-tests cups</li><li>1 instrukcja</li></ul></h3>
>
> okay, damit weisst Du, dass das Problem früher auftritt. Weiter eingrenzen (im Zweifel auf eine Zeile Code) und dann Paroli!
>
>> --
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org
>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Marc
>> Willmann
>> Gesendet: Dienstag, 9. Dezember 2014 13:07
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und
>> Sonderzeichen via PHP-Skript
>>
>> gib mal vor dem UpdateSQL-Befehl aus, was das Skript errechnet hat.
>> Vielleicht steht da ja das richtige drin und Du musst noch ein
>> utf8_de/encode durchführen, bevor Du das zurückschreibst.
>>
>> Ist immer etwas aufwändig zu testen, wenn nicht klar ist, in welcher
>> Kodierung die Datenbank was rausgibt oder erwartet... :-/
>>
>> Marc
>>
>> Am 09.12.14 12:58, schrieb Björn Hahnefeld:
>>> So geht es im Skript weiter ;)...
>>> --
>>> $search = array_keys($list);
>>> $values = array_values($list);
>>>
>>> // Konvertierung
>>> $typo3_db = mysqli_connect("localhost", " typo3", "password",
>>> "typo3");
>>> if(!$typo3_db)
>>> {
>>> exit("Verbindungsfehler: " . mysqli_connect_error());
>>> }
>>>
>>> //$tx_commerce_articles_entities = mysqli_query($typo3_db, "SELECT
>>> *
>>
>>> FROM tx_commerce_articles_entities WHERE deleted=0 AND hidden=0 AND
>>> article_type_uid=1");
>>> $tx_commerce_articles_entities = mysqli_query($typo3_db, "SELECT *
>>> FROM tx_commerce_articles_entities WHERE deleted=0 AND hidden=0 AND
>>> article_type_uid=1 AND uid=23534");
>>> while($row = mysqli_fetch_object($tx_commerce_articles_entities))
>>> {
>>> $title = str_replace($search, $values, $row->title);
>>> $description_extra = str_replace($search, $values,
>>> $row->description_extra);
>>> $tx_nalmultitest_tests = str_replace($search, $values,
>>> $row->tx_nalmultitest_tests);
>>>
>>> $update_sql = "UPDATE tx_commerce_articles_entities SET
>> title='" .
>>> $title . "', description_extra='" . $description_extra . "',
>>> tx_nalmultitest_tests='" . $tx_nalmultitest_tests . "' WHERE uid='" .
>>> $row->uid . "'";
>>> mysqli_query($typo3_db, $update_sql);
>>>
>>> //echo mysqli_errno($typo3_db) . ": " .
>>> mysqli_error($typo3_db) . "\n";
>>>
>>> echo $update_sql;
>>> }
>>> --
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: typo3-german-bounces at lists.typo3.org
>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Marc
>>> Willmann
>>> Gesendet: Dienstag, 9. Dezember 2014 12:55
>>> An: German TYPO3 Userlist
>>> Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und
>>> Sonderzeichen via PHP-Skript
>>>
>>> Am 09.12.14 12:53, schrieb Björn Hahnefeld:
>>>> Das stimmt. Das wäre aber kein Problem. Deswegen hatte ich die auch
>>>> teilweise schon in meinem Skript für Testzwecke hinterlegt:
>>>> --
>>>> $list = get_html_translation_table(HTML_ENTITIES);
>>>> unset($list['<']);
>>>> unset($list['>']);
>>>> unset($list['"']);
>>>> unset($list['&']);
>>>> $list['Ć'] = 'Ć';
>>>> $list['ć'] = 'ć';
>>>> $list['Ś'] = 'Ś';
>>>> $list['ś'] = 'ś';
>>>
>>> und wo passiert die Umwandlung? Bisher liest Du ja nur ein Array aus
>>> und überschreibst das...
>>>
>>>
>>> --
>>> Marc Willmann. TYPO3-Freelancer.
>>> http://www.marc-willmann.de
>>>
>>> Seelandstr. 14-16
>>> D-23569 Lübeck
>>>
>>> TYPO3 Certified Integrator
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>
>>
>> --
>> Marc Willmann. TYPO3-Freelancer.
>> http://www.marc-willmann.de
>>
>> Seelandstr. 14-16
>> D-23569 Lübeck
>>
>> TYPO3 Certified Integrator
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>
>
> --
> Marc Willmann. TYPO3-Freelancer.
> http://www.marc-willmann.de
>
> Seelandstr. 14-16
> D-23569 Lübeck
>
> TYPO3 Certified Integrator
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
--
Marc Willmann. TYPO3-Freelancer.
http://www.marc-willmann.de
Seelandstr. 14-16
D-23569 Lübeck
TYPO3 Certified Integrator
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list