Opened 11 years ago
Closed 11 years ago
#31771 closed defect (bug) (fixed)
Emoji rendering in Windows XP
| Reported by: | afercia | Owned by: | pento |
|---|---|---|---|
| Priority: | normal | Milestone: | 4.2 |
| Component: | Database | Version: | 4.2 |
| Severity: | normal | Keywords: | emoji has-patch |
| Cc: | Focuses: |
Attachments (1)
Change History (10)
#3
@
11 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
@
11 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
@
11 years ago
- Component Formatting → Database
- Keywords has-patch added
- Milestone Awaiting Review → 4.2
- Owner set to
- Status new → 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?
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)



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
latin1at some point. Could you please post yourDB_CHARSET, and the output of the MySQL querySHOW CREATE TABLE wp_posts;?