Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII
Hi,
seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt.
[14-Dec-2017 08:18:05 UTC] PHP Warning: html_entity_decode(): charset `ASCII' not supported, assuming utf-8 in /home/xxxx/vcdwelt.de/wp-includes/formatting.php on line 5124
Und ich habe nicht die geringste Idee wie ich das behoben bekomme
Line 5124 aus der formatting.php:
$emoji_char = html_entity_decode( $emojum );
Vielleicht kann mir da jemand behilflich sein
seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt.
[14-Dec-2017 08:18:05 UTC] PHP Warning: html_entity_decode(): charset `ASCII' not supported, assuming utf-8 in /home/xxxx/vcdwelt.de/wp-includes/formatting.php on line 5124
Und ich habe nicht die geringste Idee wie ich das behoben bekomme
Line 5124 aus der formatting.php:
$emoji_char = html_entity_decode( $emojum );
Vielleicht kann mir da jemand behilflich sein
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 358177
Url: https://administrator.de/contentid/358177
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
11 Kommentare
Neuester Kommentar
Hi,
Siehe Wordpress Referenz:
https://codex.wordpress.org/Function_Reference/wp_encode_emoji
This function will convert any 4 byte emoji in a string to their equivalent HTML entity and return it. It uses the PHP function 'mb_convert_encoding' to do the real converting. The main purpose of this function is for installs with a database which uses the 3 byte 'utf8' encoding to still be able to store emoji characters. Since WordPress 4.2 most databases will be converted to 4 byte collations with 'utf8mb4'.
Du nutzt in deiner Datenbank also vermutlich das 3 byte utf8-encoding und daher greift die Funktion und codiert die Emojis zu HTML/ASCII
Gruß, V
Siehe Wordpress Referenz:
https://codex.wordpress.org/Function_Reference/wp_encode_emoji
This function will convert any 4 byte emoji in a string to their equivalent HTML entity and return it. It uses the PHP function 'mb_convert_encoding' to do the real converting. The main purpose of this function is for installs with a database which uses the 3 byte 'utf8' encoding to still be able to store emoji characters. Since WordPress 4.2 most databases will be converted to 4 byte collations with 'utf8mb4'.
Du nutzt in deiner Datenbank also vermutlich das 3 byte utf8-encoding und daher greift die Funktion und codiert die Emojis zu HTML/ASCII
Gruß, V
Hallo!
Ändere testweise deine Zeile 5124
in
Somit wird $emojum zwingend in UTF-8 convertiert.
Gruß
eisbein
Edit: Interessant wäre der Inhalt der Variable $emojum dennoch.. ebenso die PHP-Version
Ändere testweise deine Zeile 5124
$emoji_char = html_entity_decode( $emojum );
in
$emoji_char = html_entity_decode( mb_convert_encoding($emojum , 'UTF-8'));
Somit wird $emojum zwingend in UTF-8 convertiert.
Gruß
eisbein
Edit: Interessant wäre der Inhalt der Variable $emojum dennoch.. ebenso die PHP-Version
Ändere deine Zeile 5124 einmal folgend:
bzw. ändere deine Datei folgend:
https://github.com/WordPress/WordPress/blob/master/wp-includes/formattin ...
Gruß
eisbein
if ( version_compare( phpversion(), '5.4', '<' ) ) {
$emoji_char = html_entity_decode( $emojum, ENT_COMPAT, 'UTF-8' );
} else {
$emoji_char = html_entity_decode( $emojum );
}
bzw. ändere deine Datei folgend:
https://github.com/WordPress/WordPress/blob/master/wp-includes/formattin ...
Gruß
eisbein