Special characters like “” U+1F44D THUMBS UP SIGN mostly don’t work. This does not primarily depend on on browsers but on fonts: very few fonts contain such characters, and you cannot expect Joe Q. Public’s computer to contain any of them. In practice, e.g. U+1F44D can be found in Segoe UI Symbol (which may be pre-installed in newest Windows systems) and in Symbola (a free font that needs to be downloaded by the user). For generalities, see my Guide to using special characters in HTML.
It is of course possible to replace special characters by other characters using JavaScript, but there is no simple way to decide when you need to do that. Doing it always would make the use of special characters pointless. Checking whether a system has a font that contains the character(s) is tricky. – Note that working with a character like U+1F44D in JavaScript requires care, since it’s a non-BMP character and corresponds to two consecutive components of a JavaScript string, high and low surrogate code unit.
Using an image is a natural option, though it requires care (the image should be large enough and scaled down to match text font size). And you would need different images for different text colors, because CSS lacks practical tools for coloring images, I’m afraid.
You could use a downloadable font (web font) via @font-face
. In the case of U+1F44D, Symbola would appear to be the only option. It’s fairly large, but perhaps not excessively large these days.