It's because your desktop system lacks an appropriate font.
The GNU Unifont, which is GPL licensed, support all the basic unicode characters (that's 65,536 characters!) and can be downloaded from here: http://unifoundry.com/unifont.html
If you use Debian (and possibly in other Linux distros), you can just install the ttf-unifont package.
[pedantic^2]:
They do not claim 65536 characters, but 65536 code points. That range contains room for 2K surrogate pairs, 6k or so of private use area, some control characters, and I think there still are some small unassigned regions (http://unicode.org/roadmaps/bmp/).
While this may be true, people can't be expected to go tracking down and installing a font just to see the characters that don't happen to be rendering in your site / app. Another solution is required, such as normal ascii brackets.
In any case, I agree, but the proper solution should be for OSs to come with fonts to cover that Unicode spectrum. It eliminates much of the utility of having Unicode in the first place if you can't safely use them.