PHP, Webküche

Spamschutz – eMail UTF-8 kodieren

Die eMail eines Webautors oder -teams gehört eigentlich in jedes Impressum, möglichst verlinkt, so dass der Leser schnelle eine Mail mit seinem Mailprogramm schreiben kann. Leider machen die SPAMer den Websitebetreibern in dieser Hinsicht das Leben schwer und die meisten Websitebetreiber nehmen mittlerweile schon Abstand davon und veröffentlichen nur noch eMail-Adressen ohne @ oder mit bestimmten Kodierungen, die für Maschinen unleserlich sind. Für die Benutzerfreundlichkeit ist das nicht unbedingt ratsam, denn nicht jeder Besucher bzw. kontaktwillige Besucher kennt alle Tricks im Web. Eine kleine Lösung, die ich für recht sinnvoll halt, ist die Kodierung dieses mailto-Link mit UTF-8-Entities.
Weiterlesen

Standard
PHP

Array für Sonderzeichen 128-256

Für einige meiner Plugins, die ich für WordPress erstellt habe, benötige ich die Darstellung mit html-Entities. Da solche Sachen in der Regel viel Arbeit machen und sich daran nur wenig ändert, habe ich hier alle Zeichen von 128-256 abgelegt. Wer möchte, kann diese nun gern benutzen.
Die Entities sind so abgelegt, dass sie drei mal ersetzt werden, als darstellbares Zeichen, UTF-8_encodiert und chr(ASCII).


$umlaute = array('€', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', 'Ž', '‘', '’', '“', '“', '•', '–', '—', '˜', '™', 'š', '›', 'œ', 'ž', 'Ÿ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '¹', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ',
								 utf8_encode('€'), utf8_encode('‚'), utf8_encode('ƒ'), utf8_encode('„'), utf8_encode('…'), utf8_encode('†'), utf8_encode('‡'), utf8_encode('ˆ'), utf8_encode('‰'), utf8_encode('Š'), utf8_encode('‹'), utf8_encode('Œ'), utf8_encode('Ž'), utf8_encode('‘'), utf8_encode('’'), utf8_encode('“'), utf8_encode('“'), utf8_encode('•'), utf8_encode('–'), utf8_encode('—'), utf8_encode('˜'), utf8_encode('™'), utf8_encode('š'), utf8_encode('›'), utf8_encode('œ'), utf8_encode('ž'), utf8_encode('Ÿ'), utf8_encode('¡'), utf8_encode('¢'), utf8_encode('£'), utf8_encode('¤'), utf8_encode('¥'), utf8_encode('¦'), utf8_encode('§'), utf8_encode('¨'), utf8_encode('©'), utf8_encode('ª'), utf8_encode('«'), utf8_encode('¬'), utf8_encode('®'), utf8_encode('¯'), utf8_encode('°'), utf8_encode('±'), utf8_encode('²'), utf8_encode('³'), utf8_encode('´'), utf8_encode('µ'), utf8_encode('¶'), utf8_encode('·'), utf8_encode('¸'), utf8_encode('¹'), utf8_encode('º'), utf8_encode('»'), utf8_encode('¼'), utf8_encode('½'), utf8_encode('¾'), utf8_encode('¿'), utf8_encode('À'), utf8_encode('Á'), utf8_encode('Â'), utf8_'), utf8_encode('Ã'), utf8_encode('Ä'), utf8_encode('Å'), utf8_encode('Æ'), utf8_encode('Ç'), utf8_encode('È'), utf8_encode('É'), utf8_encode('Ê'), utf8_encode('Ë'), utf8_encode('Ì'), utf8_encode('Í'), utf8_encode('Î'), utf8_encode('Ï'), utf8_encode('Ð'), utf8_encode('Ñ'), utf8_encode('Ò'), utf8_encode('Ó'), utf8_encode('Ô'), utf8_encode('Õ'), utf8_encode('Ö'), utf8_encode('×'), utf8_encode('Ø'), utf8_encode('Ù'), utf8_encode('Ú'), utf8_encode('Û'), utf8_encode('Ü'), utf8_encode('Ý'), utf8_encode('Þ'), utf8_encode('ß'), utf8_encode('à'), utf8_encode('á'), utf8_encode('â'), utf8_encode('ã'), utf8_encode('ä'), utf8_encode('å'), utf8_encode('æ'), utf8_encode('ç'), utf8_encode('è'), utf8_encode('é'), utf8_encode('ê'), utf8_encode('ë'), utf8_encode('ì'), utf8_encode('í'), utf8_encode('î'), utf8_encode('ï'), utf8_encode('ð'), utf8_encode('ñ'), utf8_encode('ò'), utf8_encode('ó'), utf8_encode('ô'), utf8_encode('õ'), utf8_encode('ö'), utf8_encode('÷'), utf8_encode('ø'), utf8_encode('ù'), utf8_encode('ú'), utf8_encode('û'), utf8_encode('ü'), utf8_encode('ý'), utf8_encode                
                 chr(128), chr(129), chr(130), chr(131), chr(132), chr(133), chr(134), chr(135), chr(136), chr(137), chr(138), chr(139), chr(140), chr(141), chr(142), chr(143), chr(144), chr(145), chr(146), chr(147), chr(148), chr(149), chr(150), chr(151), chr(152), chr(153), chr(154), chr(155), chr(156), chr(157), chr(158), chr(159), chr(160), chr(161), chr(162), chr(163), chr(164), chr(165), chr(166), chr(167), chr(168), chr(169), chr(170), chr(171), chr(172), chr(173), chr(174), chr(175), chr(176), chr(177), chr(178), chr(179), chr(180), chr(181), chr(182), chr(183), chr(184), chr(185), chr(186), chr(187), chr(188), chr(189), chr(190), chr(191), chr(192), chr(193), chr(194), chr(195), chr(196), chr(197), chr(198), chr(199), chr(200), chr(201), chr(202), chr(203), chr(204), chr(205), chr(206), chr(207), chr(208), chr(209), chr(210), chr(211), chr(212), chr(213), chr(214), chr(215), chr(216), chr(217), chr(218), chr(219), chr(220), chr(221), chr(222), chr(223), chr(224), chr(225), chr(226), chr(227), chr(228), chr(229), chr(230), chr(231), chr(232), chr(233), chr(234), chr(235), chr(236), chr(237), chr(238), chr(239), chr(240), chr(241), chr(242), chr(243), chr(244), chr(245), chr(246), chr(247), chr(248), chr(249), chr(250), chr(251), chr(252), chr(253), chr(254), chr(255), chr(256));
$htmlcode = array('€', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', 'Ž', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', 'ž', 'Ÿ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '&supl;', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ',
                  '€', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', 'Ž', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', 'ž', 'Ÿ', '¡', '¢', '£', '¤', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '&supl;', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ',
                  '€', '', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '', 'Ž', '', '', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '', 'ž', 'Ÿ', ' ', '¡', '¡', '¡', '¡', '¥', '¦', '§', '¨', '©', 'ª', '«', '¬', '­­', '®', '¯', '°', '±', '²', '³', '´', 'µ', '¶', '·', '¸', '&supl;', 'º', '»', '¼', '½', '¾', '¿', 'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', '×', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'Þ', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', '÷', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'þ', 'ÿ');
$VARIABLE = str_replace($umlaute, $htmlcode, $VARIABLE);
Standard
Tipps, WordPress

WP – Script zur Zeichensatzconvertierung

Diese Script sollte man sich merken, sicher wird es der eine oder andere noch benötigen. Denn damit läßt sich das Blog ohne Darstellungsprobleme in die gewünschte Konvertierung überführen – Script to convert WordPress – content encoding . Das es damit Probleme gibt, kann man des öfteren im WordPress-Forum nach lesen. Empfohlen wird auch weiterhin UFT-8, der Zeichensatz, der alle Zeichen beinhaltet.

Anwendung:

Die php-Datei in den Ordner /wp-content/ kopieren und über den Browser starten. Natürlich die Sicherheitskopie vorher ziehen, z.B. mit phpMyAdmin – Beschreibung gibts hier.

Die Konvertierung ist in Zeile 53 hinterlegt:


/**
* @var string Target encoding
/*
$new_encoding = 'UTF-8';
Standard
Webküche

WK – UTF-8 Konvertierung

In letzter Zeit hatte ich sehr oft mit Problemen zu kämpfen, bei denen die Zeichenkodierung nicht mit dem Doctype der Seite überein gestimmt hat, besonders bei einigen Newsfeeds war das der Fall. Ich habe mich im Netz nach einer Übersicht der Kodierung von UTF-8 in die entsprechenden zeichen umgesehen und leider nichts gutes gefunden. Im Laufe der Zeit habe ich mir dann alle zeichen zusammen gestellt und in eine Liste übertragen. Wer also die Sonderzeichen in UTF-8 kodieren will, bzw. umgedreht, der findet sie jetzt hier in einem kleinen CheatSheet.
Weiterlesen

Standard