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['Ć'] = '&#262;';
        $list['ć'] = '&#263;';
        $list['Ś'] = '&#346;';
        $list['ś'] = '&#347;';
--

Genau das ist es aber, was leider nicht funktioniert. In der MySQL-Datenbank
steht noch folgendes:
--
<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>
--

Nach der Umwandlung aber:
--
<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>
--

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Marc Willmann
Gesendet: Dienstag, 9. Dezember 2014 12:48
An: German TYPO3 Userlist
Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via
PHP-Skript

hmm. Gibt's denn die Entsprechnungen als HTML-Entity? Falls nein, in was
willst Du es konvertieren? Dafür bräuchtest Du doch eine Wertetabelle, oder?

Falls es Entities gibt, sollte htmlentities sie finden und ersetzen.
Klappt das nicht, kann es sein, dass Du vorher noch utf8_encode() oder
utf8_decode() drüberlaufen lassen musst; je nachdem wie die Daten in der
Datenbank stehen.

Gibt es keine Entities und Du arbeitest mit einer Wertetabelle, dann benutz
doch einfach str_replace mit dem Ersetzungsarray VOR dem Aufruf von
htmlentities()

Marc

Am 09.12.14 12:39, schrieb Björn Hahnefeld:
> Nichts, Marc! Das tue ich auch. Doch der Befehl berücksichtigt eben 
> nicht alle Sonderzeichen und Umlaute, sondern eben nur einen Teil. 
> Dazu gehören eben nicht die polnischen und tschechischen Zeichen wie
beispielsweise "ś"
> und "Ć". Dieser aber muss ich ebenfalls mit konvertieren. Andernfalls 
> würden die Zeichen/Informationen verloren gehen.
> 
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-boun...@lists.typo3.org
> [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Marc 
> Willmann
> Gesendet: Dienstag, 9. Dezember 2014 12:34
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und 
> Sonderzeichen via PHP-Skript
> 
> Hi Björn,
> 
> was spricht dagegen, die Daten aus der Datenbank in UTF8 rauszuholen 
> und durch htmlentities() durchzujagen?
> 
> Marc
> 
> 
> Am 09.12.14 11:55, schrieb Björn Hahnefeld:
>> Hallo Chris,
>>
>> zunächst einmal vielen herzlichen Dank für deine schnelle und 
>> kompetente Rückantwort. Allerdings muss ich keine DB-Konvertierung 
>> durchführen, da
>> TYPO3 durch Magento abgelöst wird.
>>
>> Da aber die Warenwirtschaft nicht mit allen Umlauten klar kommt, muss 
>> ich alle Umlaute in Entities umwandeln - also nicht die Datenbank 
>> selbst. Meine Überlegung war daher, nach genau diesen Zeichen zu 
>> suchen und diese dann in der Datenbank direkt zu ersetzen (bevor die 
>> Felder in die Warenwirtschaft exportiert werden).
>>
>> Nebenbei:
>> Es geht um die Artikel- und Produktdaten der Extension commerce. 
>> Dessen Felder (und nur diese) brauche ich. Daher auch mein Skript, 
>> welches in einer dieser DB-Tabellen Daten verändert ;)!
>>
>> Viele Grüße
>>
>> Björn
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-boun...@lists.typo3.org
>> [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Chris 
>> Wolff - AERTiCKET AG
>> Gesendet: Dienstag, 9. Dezember 2014 11:38
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und 
>> Sonderzeichen via PHP-Skript
>>
>> Hallo Björn,
>> wenn deine daten wirklich utf-8 sind ist alles fein.
>>
>> Ich hab mal zwei scripte als gist auf github gestellt dich ich für 
>> die datenbank convertierung nutze.
>>
>> Das erste fixted einfach nur die tabellen. Wo sie noc nicht utf-8 
>> weil
>> (collate)
>> https://gist.github.com/wolffc/8a0a9cebeb980afcf388
>>
>> das zweite exportiert die datenbank als latin1 und reimportiert sie 
>> als
>> utf-8 das ist nützlich falls du utf-8 daten in deine latin1 datenbank 
>> geschrieben hast.
>> Mit etwas abwandelung kannst du das natürlich auch für andere 
>> encodings nehmen.
>> https://gist.github.com/wolffc/108cf972be3b94be5d85
>>
>>
>> gruss chris
>>
>>
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-boun...@lists.typo3.org
>> [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Björn 
>> Hahnefeld
>> Gesendet: Dienstag, 9. Dezember 2014 11:09
>> An: typo3-german@lists.typo3.org
>> Betreff: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen 
>> via PHP-Skript
>>
>> Hallo zusammen,
>>
>>  
>>
>> ich habe hier eine TYPO3 4.4.13-Installation vor mir. Die Daten in den
>> MySQL-Tabellen sind alle eine    utf8_general_ci-Kollation. Wie die Daten
>> tatsächlich abgespeichert werden, habe ich leider noch nicht im 
>> phpMyAdmin heraus gefunden.
>>
>>  
>>
>> Allerdings möchte ich alle Sonderzeichen und Umlaute (auch die CZ und 
>> PL wie beispielsweise "Ć" umwandeln. Für den latin1-Zeichensatz ist 
>> das kein Problem, denn dafür gibt es ja bereits einen PHP-Befehl (mit 
>> dem ich einige Zeichen ausgenommen habe, damit HTML-Formatierungen 
>> nicht zerstört werden) - nämlich get_html_translation_table.
>>
>>  
>>
>> Allerdings werden mir die PL- und CZ-Sonderzeichen nicht konviertiert. 
>> Wenn ich dann einen Blick in das SQL-Statement werfe, werden diese 
>> einfach nicht umgewandelt. Das Skript selbst ist als UTF-8 
>> abgespeichert. Hier einmal mein Skript. Vielleicht hat jemand eine 
>> gute
> Idee, woran das liegen könnte?
>>
>>  
>>
>> --
>>
>> <?php
>>
>>  
>>
>>                 // Errors
>>
>>                 error_reporting(E_ERROR | E_WARNING | E_PARSE | 
>> E_NOTICE);
>>
>>                 ini_set("display_errors", 1);
>>
>>                 
>>
>>                 // Einstellungen
>>
>>                 $list = get_html_translation_table(HTML_ENTITIES);
>>
>>                 unset($list['<']);
>>
>>                 unset($list['>']);
>>
>>                 unset($list['"']);
>>
>>                 unset($list['&']);
>>
>>                 $list['Ć'] = '&#262;'; // wird nicht umgewandelt und 
>> vermutlich auch nicht als solches Zeichen gefunden.
>>
>>                 $list['ć'] = '&#263;'; // wird nicht umgewandelt und 
>> vermutlich auch nicht als solches Zeichen gefunden.
>>
>>                 $list['Ś'] = '&#346;'; // wird nicht umgewandelt und 
>> vermutlich auch nicht als solches Zeichen gefunden.
>>
>>                 $list['ś'] = '&#347;'; // wird nicht umgewandelt und 
>> vermutlich auch nicht als solches Zeichen gefunden.
>>
>>  
>>
>>                 //var_dump($list);         
>>
>>                 
>>
>>                 $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;
>>
>>                 }
>>
>>  
>>
>> ?>
>>
>> --
>>
>>  
>>
>> Viele Grüße
>>
>>  
>>
>> Björn
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german@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@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@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@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an