If you are seeing ???
in the webbrowser, then changing the browser's locale/charset as suggested by others really won't help much. Only if you were seeing �
, empty squares and/or Mojibake, then it may indeed help. Also installing fonts really won't help much as well. If there wasn't a font for it, you would in Firefox have seen squares with hexcodes inside and in IE empty squares and really not ???
.
The ???
can here have only one cause: you are writing those characters to the HTTP response using the wrong encoding. The average webserver will replace unknown characters by ?
. The webbrowser doesn't do that, it is just displaying them as is. Actually, there is in theory another possible cause; the DB will do the same when you're inserting unknown characters, but that's less or more excluded here.
It's not clear what view technology you're using, but since you're talking about Java and a webbrowser, I'll assume that you're using JSP/Servlet (in the future, please mention and tag as such, so that the right audience will be reached).
If you're displaying those characters using JSP, then you need to add the following to the top of your JSP page to instruct the servletcontainer to write those characters using the right encoding:
<%@ page pageEncoding="UTF-8" %>
If you're writing those characters manually using a Servlet, then you need to set the HTTP servlet response to use the right encoding as follows before you write any character to it:
response.setCharacterEncoding("UTF-8");
See also: