Your browser/OS should be using font substitution¹ though when it encounters a character that the current font doesn’t have a glyph for. Font substitution is pretty much necessary since it’s currently impossible for one font to hold Unicode’s repertoire of 110,000+ characters; even the OpenType format is limited to a maximum of 65,536 glyphs.
Assuming that it is using font substitution (as it should be whether or not you’ve chosen Sofia Pro as your browser’s default sans-serif font… unless you’ve also changed some other settings too), then the reason those characters show up as question marks is because you don’t have any fonts installed containing glyphs for those characters. (I’d recommend Everson Mono² or Symbola³).
――――――
¹ — https://en.wikipedia.org/wiki/Font_substitution
² — https://en.wikipedia.org/wiki/Everson_Mono
³ — https://web.archive.org/web/20150625020428/http://users.teil...