The Problem (and Solution)
↘
= ↘ (which varies across operating systems and web browsers)
↘︎
= ↘︎ (which is consistent across web browsers—at least on the same operating system)
Append your character’s hex code, HTML code, or HTML entity with ︎
. If working with unicode, append with U+FE0E
(plus a preceding space).
The FE0E
part denotes the variation selector, which determines the variant of the preceding character to use. (Characters can have multiple displays.) Without specifying the variation selector, web browsers will fall back to a default selector for rendering.
Specifying the variation selector also serendipitously thwarts WordPress’s emoji script. This approach is fine for one-offs, but if you want to totally disable WP emojis, then look into comprehensive options.
Bonus Technique
Similarly, a CSS pseudo-element can be used to bypass browser rendering:
.css-class::before { content: "\2198\FE0E" }