Opened 10 years ago
Closed 10 years ago
#31771 closed defect (bug) (fixed)
Emoji rendering in Windows XP
Reported by: | afercia | Owned by: | pento |
---|---|---|---|
Milestone: | 4.2 | Priority: | normal |
Severity: | normal | Version: | 4.2 |
Component: | Database | Keywords: | emoji has-patch |
Focuses: | Cc: |
Attachments (1)
Change History (10)
#3
@
10 years ago
Previous screenshots are from @rianrievteld test server, I don't have access there. Can replicate the issue on my local environment:
define('DB_CHARSET', 'utf8');
array(1) { [0]=> object(stdClass)#354 (2) { ["Table"]=> string(8) "wp_posts" ["Create Table"]=> string(1846) "CREATE TABLE `wp_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `post_title` text COLLATE utf8mb4_unicode_ci NOT NULL, `post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL, `post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'publish', `comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open', `post_password` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL, `pinged` text COLLATE utf8mb4_unicode_ci NOT NULL, `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `menu_order` int(11) NOT NULL DEFAULT '0', `post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'post', `post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`), KEY `post_author` (`post_author`), KEY `post_name` (`post_name`(191)) ) ENGINE=InnoDB AUTO_INCREMENT=3976 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" } }
#4
@
10 years ago
I was able to duplicate this using a VM box from http://modern.ie, trying on IE 8 and Chrome latest, on a test site that works fine with Emoji on other OS.
Notable, the post_title in db is ????. The post_name was %f0%9f%98%96
. Anytime I tried to edit that same post in any other OS after getting ???? the first time (replacing the ???? with a new title including emoji) yielded the same ????.
#5
@
10 years ago
- Component changed from Formatting to Database
- Keywords has-patch added
- Milestone changed from Awaiting Review to 4.2
- Owner set to pento
- Status changed from new to assigned
There was a short period where trunk was incorrectly upgrading sites to utf8mb4, when their MySQL client libs didn't support it.
There are possibly other situations where a client is talking to a server that's been upgraded (different PHP versions on different servers, moving a site to a new host with the wrong client version). So, 31771.diff tries to mitigate that. Could you both please test it and see if that helps?
The square in the title box is sadly unavoidable. We can't replace emoji characters with images in a text input, only within TinyMCE.
The "????" seems to suggest that the emoji is being converted to
latin1
at some point. Could you please post yourDB_CHARSET
, and the output of the MySQL querySHOW CREATE TABLE wp_posts;
?