Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Am 11.12.14 13:58, schrieb Björn Hahnefeld: Hallo Bernd, leider muss ich an der Skript-Lösung festhalten. Nervig, aber wahr ;)! Problem ist noch immer: wenn ich zweistufig vorgehen will, lasse ich einfach mein "//header('Content-type: text/plain; charset=utf-8');" weg. Dann kann ich alle Umlaute konvertieren, die in "get_html_translation_table(HTML_ENTITIES);" enthalten sind. Danach wollte ich UTF-8 aktivieren, um die restlichen Sonderzeichen um zu wandeln. Ggf. sogar über ein separates Skript. Doch so ganz ging meine Rechnung nicht auf... Ich habe nämlich Felder, die sowohl die von get_html_translation_table(HTML_ENTITIES); abgedeckten Sonderzeichen enthält als auch beispielsweise "Ć"... In spätestens diesem Fall ist "Ć" fälschlicherweise in ein "?" umgewandelt. Die Idee, vielleicht wie TYPO3 vorzugehen, und mit SET Names zu erzwingen, dass das Skript nicht die Verbindung mit latin1 sondern UTF-8 aufbaut, ist bisher fehlgeschlagen... Oh man. Hast du vielleicht trotzdem noch eine Idee für mich? Viele Grüße Björn P.S.: Da wir einen Shared-Hosting-Server haben, konnte ich dein Skript noch nicht ausprobieren. Ist es denn so, dass deine Konvertierung tatsächlich die DB nicht "nur" in UTF-8 umwandelt? Ich glaube nämlich, dass da keine Entities bei Sonderzeichen verwendet werden, da ja UTF-8. Aber ich brauche für jedes Sonderzeichen explizit ein Entity... :( meine idee war jetzt eher: nimm das shell-skript und nachdem die datenbank als Datei vorliegt (nach dem mysqldump) füge ein paar sed-replacements ein, die in dieser einen Datei alle Sonderzeichen in Entities umsetzen. [1] danach kannst du mit meinem Skript weiter machen und die Datenbank wieder einlesen. jetzt mit entities statt sonderzeichen, also egal welche codierung. [1] der sed ist als Kommandozeilen-tool in der Lage auch sehr große Dateien zu bearbeiten bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Hallo Bernd, leider muss ich an der Skript-Lösung festhalten. Nervig, aber wahr ;)! Problem ist noch immer: wenn ich zweistufig vorgehen will, lasse ich einfach mein "//header('Content-type: text/plain; charset=utf-8');" weg. Dann kann ich alle Umlaute konvertieren, die in "get_html_translation_table(HTML_ENTITIES);" enthalten sind. Danach wollte ich UTF-8 aktivieren, um die restlichen Sonderzeichen um zu wandeln. Ggf. sogar über ein separates Skript. Doch so ganz ging meine Rechnung nicht auf... Ich habe nämlich Felder, die sowohl die von get_html_translation_table(HTML_ENTITIES); abgedeckten Sonderzeichen enthält als auch beispielsweise "Ć"... In spätestens diesem Fall ist "Ć" fälschlicherweise in ein "?" umgewandelt. Die Idee, vielleicht wie TYPO3 vorzugehen, und mit SET Names zu erzwingen, dass das Skript nicht die Verbindung mit latin1 sondern UTF-8 aufbaut, ist bisher fehlgeschlagen... Oh man. Hast du vielleicht trotzdem noch eine Idee für mich? Viele Grüße Björn P.S.: Da wir einen Shared-Hosting-Server haben, konnte ich dein Skript noch nicht ausprobieren. Ist es denn so, dass deine Konvertierung tatsächlich die DB nicht "nur" in UTF-8 umwandelt? Ich glaube nämlich, dass da keine Entities bei Sonderzeichen verwendet werden, da ja UTF-8. Aber ich brauche für jedes Sonderzeichen explizit ein Entity... :( -Ursprüngliche Nachricht- Von: typo3-german-boun...@lists.typo3.org [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von bernd wilke Gesendet: Mittwoch, 10. Dezember 2014 14:32 An: typo3-german@lists.typo3.org Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript Am 10.12.14 13:43, schrieb Björn Hahnefeld: > Das Skript wäre mir insofern lieber, weil ich es mehrfach durchlaufen lassen > kann und somit noch Änderungen im laufenden Betrieb machen lassen kann (bis > zum Schluss). Allerdings habe ich das Problem, dass die Daten in phpMyAdmin > richtig drinnen stehen und in meinem Skript aber "?" statt dem Sonderzeichen > zurück gegeben wird. dafür sollten folgende Zeilen sein: echo "ALTER DATABASE $1 CHARACTER SET utf8 COLLATE utf8_general_ci;" | mysql -u $2 -p$3 echo mysqldump #v here insert utf8 if utf8 is stored in latin-fields #v hier utf8 eintragen wenn utf8 in latin-feldern gespeichert ist mysqldump -u $2 -p$3 --default-character-set=latin1 --databases $1 > $1.orig.sql es ist halt ein Unterschied zwischen: Die Verbindung zum Server, die Datenbank, die Tabelle, das Feld ist ... kodiert. und wenn du phpmyadmin benutzt hat der Browser auch noch die Möglichkeit die Zeichen umzuinterpretieren. > Was meinst du denn mit SED? http://de.wikipedia.org/wiki/Sed_%28Unix%29 damit kannst du die Zeichenumwandlung auch ins script packen sobald deine Zeichen sauber exportiert sind. bernd -- http://www.pi-phi.de/cheatsheet.html ___ 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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Nachdem es bei TYPO3 funktionierte, und bei mir nicht, habe ich mir noch einmal über deine Überlegungen Gedanken gemacht. Nun setze ich im Konvertierungsskript die NAMES auf utf-8 und prompt kommen zumindest die Daten bei mir korrekt an: -- mysqli_query($typo3_db, "set names 'utf8'"); -- Mal sehen, wie die Konvertierung nun weiter geht :)! -Ursprüngliche Nachricht- Von: typo3-german-boun...@lists.typo3.org [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von bernd wilke Gesendet: Mittwoch, 10. Dezember 2014 14:32 An: typo3-german@lists.typo3.org Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript Am 10.12.14 13:43, schrieb Björn Hahnefeld: > Das Skript wäre mir insofern lieber, weil ich es mehrfach durchlaufen lassen > kann und somit noch Änderungen im laufenden Betrieb machen lassen kann (bis > zum Schluss). Allerdings habe ich das Problem, dass die Daten in phpMyAdmin > richtig drinnen stehen und in meinem Skript aber "?" statt dem Sonderzeichen > zurück gegeben wird. dafür sollten folgende Zeilen sein: echo "ALTER DATABASE $1 CHARACTER SET utf8 COLLATE utf8_general_ci;" | mysql -u $2 -p$3 echo mysqldump #v here insert utf8 if utf8 is stored in latin-fields #v hier utf8 eintragen wenn utf8 in latin-feldern gespeichert ist mysqldump -u $2 -p$3 --default-character-set=latin1 --databases $1 > $1.orig.sql es ist halt ein Unterschied zwischen: Die Verbindung zum Server, die Datenbank, die Tabelle, das Feld ist ... kodiert. und wenn du phpmyadmin benutzt hat der Browser auch noch die Möglichkeit die Zeichen umzuinterpretieren. > Was meinst du denn mit SED? http://de.wikipedia.org/wiki/Sed_%28Unix%29 damit kannst du die Zeichenumwandlung auch ins script packen sobald deine Zeichen sauber exportiert sind. bernd -- http://www.pi-phi.de/cheatsheet.html ___ 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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Am 10.12.14 13:43, schrieb Björn Hahnefeld: Das Skript wäre mir insofern lieber, weil ich es mehrfach durchlaufen lassen kann und somit noch Änderungen im laufenden Betrieb machen lassen kann (bis zum Schluss). Allerdings habe ich das Problem, dass die Daten in phpMyAdmin richtig drinnen stehen und in meinem Skript aber "?" statt dem Sonderzeichen zurück gegeben wird. dafür sollten folgende Zeilen sein: echo "ALTER DATABASE $1 CHARACTER SET utf8 COLLATE utf8_general_ci;" | mysql -u $2 -p$3 echo mysqldump #v here insert utf8 if utf8 is stored in latin-fields #v hier utf8 eintragen wenn utf8 in latin-feldern gespeichert ist mysqldump -u $2 -p$3 --default-character-set=latin1 --databases $1 > $1.orig.sql es ist halt ein Unterschied zwischen: Die Verbindung zum Server, die Datenbank, die Tabelle, das Feld ist ... kodiert. und wenn du phpmyadmin benutzt hat der Browser auch noch die Möglichkeit die Zeichen umzuinterpretieren. > Was meinst du denn mit SED? http://de.wikipedia.org/wiki/Sed_%28Unix%29 damit kannst du die Zeichenumwandlung auch ins script packen sobald deine Zeichen sauber exportiert sind. bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Das Skript wäre mir insofern lieber, weil ich es mehrfach durchlaufen lassen kann und somit noch Änderungen im laufenden Betrieb machen lassen kann (bis zum Schluss). Allerdings habe ich das Problem, dass die Daten in phpMyAdmin richtig drinnen stehen und in meinem Skript aber "?" statt dem Sonderzeichen zurück gegeben wird. Was meinst du denn mit SED? 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 bernd wilke Gesendet: Dienstag, 9. Dezember 2014 17:47 An: typo3-german@lists.typo3.org Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript 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. > wie wär es denn wenn du es nicht per PHP sondern per mysqldump und editor änderst? schau mal http://pi-phi.de/293.html an. primär geht es dort um eine utf-konvertierung, aber für dich sollte die erste Hälfte, der Export reichen, dann mit einem Editor deiner Wahl, im mysql-dump alle Sonderzeichen durch entsprechende entities ersetzen und dann wieder in die DB zurücklesen. (sollte auch um einiges Shcneller sein als PHP) um es komplett als script zu machen kannst du zb. SED nutzen. bernd -- http://www.pi-phi.de/cheatsheet.html ___ 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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
An und für sich eine gute Idee. Die Daten kommen allerdings bereits mit "?" an :( -- Zawarto?? opakowania: Paczka z 25 Multi-tests cups1 instrukcja -- 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-boun...@lists.typo3.org [mailto:typo3-german-boun...@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) "ñ&q
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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. wie wär es denn wenn du es nicht per PHP sondern per mysqldump und editor änderst? schau mal http://pi-phi.de/293.html an. primär geht es dort um eine utf-konvertierung, aber für dich sollte die erste Hälfte, der Export reichen, dann mit einem Editor deiner Wahl, im mysql-dump alle Sonderzeichen durch entsprechende entities ersetzen und dann wieder in die DB zurücklesen. (sollte auch um einiges Shcneller sein als PHP) um es komplett als script zu machen kannst du zb. SED nutzen. bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
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) &quo
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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-boun...@lists.typo3.org [mailto:typo3-german-boun...@lists.typo3.org] Im Au
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
So weit war ich ja gestern schon :(! Ich habe es auch mit verschiedenen Codierungen des Skriptes selbst probiert. Dann werden die Zeichen zwar verstümmelt, doch die kommen trotzdem nicht korrekt an. Oh man :(! -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 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 > Zawarto?? opakowania: > Paczka z 25 > Multi-tests cups1 instrukcja 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-boun...@lists.typo3.org > [mailto:typo3-german-boun...@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-boun...@lists.typo3.org >> [mailto:typo3-german-boun...@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
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 > Zawarto?? opakowania: > Paczka z 25 > Multi-tests cups1 instrukcja 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-boun...@lists.typo3.org > [mailto:typo3-german-boun...@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-boun...@lists.typo3.org >> [mailto:typo3-german-boun...@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@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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Meine Worte... Aber Root-Zugang haben wir leider nicht, da dies ein Shared-Hosting-System ist. -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 13:13 An: German TYPO3 Userlist Betreff: Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript Am 09.12.14 13:10, schrieb Björn Hahnefeld: > Wo finde ich denn die Codierung raus (also nur über phpMyAdmin)? > Vielleicht ist das auch schon das erste Problem? nur über phpmyadmin gar nicht. Die Collation ist ein Indiz, aber ich hab da schon alle möglichen Kombinationen gesehen... kommt eben auch drauf an, wie das System arbeitet und das Filesystem eingestellt ist. Mit Trial & Error mit vielen Debug-Ausgaben bist Du schneller am Ziel. Und ich sag sowas ungern. :) Marc > -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 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-boun...@lists.typo3.org >> [mailto:typo3-german-boun...@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 >> >&g
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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 Zawarto?? opakowania: Paczka z 25 Multi-tests cups1 instrukcja -- -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 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-boun...@lists.typo3.org > [mailto:typo3-german-boun...@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@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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Am 09.12.14 13:10, schrieb Björn Hahnefeld: > Wo finde ich denn die Codierung raus (also nur über phpMyAdmin)? Vielleicht > ist das auch schon das erste Problem? nur über phpmyadmin gar nicht. Die Collation ist ein Indiz, aber ich hab da schon alle möglichen Kombinationen gesehen... kommt eben auch drauf an, wie das System arbeitet und das Filesystem eingestellt ist. Mit Trial & Error mit vielen Debug-Ausgaben bist Du schneller am Ziel. Und ich sag sowas ungern. :) Marc > -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 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-boun...@lists.typo3.org >> [mailto:typo3-german-boun...@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@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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
Wo finde ich denn die Codierung raus (also nur über phpMyAdmin)? Vielleicht ist das auch schon das erste Problem? -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 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-boun...@lists.typo3.org > [mailto:typo3-german-boun...@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@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
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-boun...@lists.typo3.org > [mailto:typo3-german-boun...@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@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
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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-boun...@lists.typo3.org [mailto:typo3-german-boun...@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@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
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@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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['ś'] = 'ś'; -- Genau das ist es aber, was leider nicht funktioniert. In der MySQL-Datenbank steht noch folgendes: -- Zawartość opakowania: Paczka z 25 Multi-tests cups1 instrukcja -- Nach der Umwandlung aber: -- Zawarto?? opakowania: Paczka z 25 Multi-tests cups1 instrukcja -- -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] I
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 eineutf8_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. >>
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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 eineutf8_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? > > > > -- > > > > > // 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['Ć'] = 'Ć'; // wird nicht umgewandelt und > vermutlich auch nicht als solches Zeichen gefunden. > >
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 eineutf8_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? > > > > -- > > > > > // 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['Ć'] = 'Ć'; // wird nicht umgewandelt und > vermutlich auch nicht als solches Zeichen gefunden. > > $list['ć'] = 'ć'; // wird nicht umgewandelt und > vermutlich auch nicht als solches Zeichen gefunden. > > $list['Ś'] = 'Ś'; // wird nicht umgewandelt und > vermutlich auch nicht als solches Zeichen gefunden. > > $list['ś'] = 'ś'; // wird nicht umgewandelt und > vermutlich auch nicht als solches Zeichen gefunden. > > > > //var_dump($list); > > > > $search = array_keys($list); > > $values = array_values($list); > > > > // Konv
Re: [TYPO3-german] Konvertierung von Umlauten und Sonderzeichen via PHP-Skript
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 eineutf8_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? -- ']); unset($list['"']); unset($list['&']); $list['Ć'] = 'Ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ć'] = 'ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['Ś'] = 'Ś'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ś'] = 'ś'; // 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='"
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 eineutf8_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? -- ']); unset($list['"']); unset($list['&']); $list['Ć'] = 'Ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ć'] = 'ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['Ś'] = 'Ś'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ś'] = 'ś'; // 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] 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 eineutf8_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? -- ']); unset($list['"']); unset($list['&']); $list['Ć'] = 'Ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ć'] = 'ć'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['Ś'] = 'Ś'; // wird nicht umgewandelt und vermutlich auch nicht als solches Zeichen gefunden. $list['ś'] = 'ś'; // 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