我已经成功地在Java中调用了Unicode字符。但是,我不能称呼这种特殊的行人符号...
http://www.fileformat.info/info/unicode/char/1f6b6/index.htm

我正在按照网站上的指示进行操作,但显示一个空白块:

JOptionPane.showMessageDialog(null,"\uD83D\uDEB6");


我究竟做错了什么?

最佳答案

这是一个字体问题。所使用的字体不包含字符的字形,因此渲染软件将显示诸如矩形的通用符号。

如果您在问题中提到的页面上单击链接Fonts that support U+1F6B6,您将获得仅Symbola包含字符PEDESTRIAN(U + 1F6B6)的信息。 (提到的LastResort字体有一个伪字体,对软件开发有用,但对渲染字符没有帮助。)这并不奇怪,因为它是2010年在Unicode 6中引入的。通常大约需要十年或更长的时间。一个在字体中得到合理良好支持的字符。

Segoe UI Symbol的足够新版本也包含U + 1F6B6,但是Segoe UI Symbol是Windows 7和Windows 8附带的专有软件,您可能需要对其进行更新才能获得支持U + 1F6B6的版本。另一方面,Symbola是免费字体。

07-27 19:21