Does every browser support all unicode?
The more common characters can be seen by all. But the Asian fonts tend to be troublesome. As far as I can tell, not every browser on every operating system can view that font. My Windows 7 Ultimate computer on Chrome, Opera, and IE can view that characters. As can my 4.1 Android phone on the default browser.
I can't see every character on that list, but I can see the vast majority of them. I pretty much can't see anything after "Miscellaneous mathematical symbols-A"
No browser supports all of Unicode, or is required to do so. The specifications do not require that all characters, or any specific subset thereof, will be displayed properly. It would be almost impossible to do so, because no single font can cover all of Unicode, and even the union of commonly available fonts does that.
So the question should be rephrased in terms of font support to specific characters. Moreover, you should use font-family
declarations that make a reasonable effort at using suitable fonts. The reason is that browsers still have difficulties in font fallback: they do not always automatically find a suitable backup font if the declared fonts or browser default font do not contain a particular character.
Using a downloadable font (web font) may be part of an answer, but it would probably be overkill if you just want to use a handful of icons. For text written in Devanagari, it’s probably the best approach; the only commonly installed font that supports it is Arial Unicode MS, and people who don’t have Microsoft Office installed probably haven’t got it. So consider using e.g. either FreeSans or FreeSerif from GNU Freefont as downloadable font via @font-face
.
General info on the topic: Guide to using special characters in HTML.
This is a problem of fonts, not browser support. Barring serious bugs in a browser itself, as long as the user has a font installed with the character you're trying to use, it should display without issue.
Now, the intersection of all the glyphs in all the fonts built into every common operating system is a different question entirely and one that's a little more difficult to answer.
In the case of the small icons, the most reliable solution is to use the CSS @font-face
rule to ask the browser to download a particular font. Then you'll know for sure that the user has an appropriate font installed. There are even some fonts designed specifically for this use, with extra icons built in: "Font Awesome" is a well-known example.
In the case of foreign text: presumably your audience consists of people who can read the script, right? In that case they almost certainly have font support already—many of them may have their entire interface in the same language!