You are seeing squares (probably tofus) because you don't have a font able to render those characters. So the first step would be to ensure that you have such a font.
Even having a font able to render those characters doesn't mean that they will be correctly printed in the NetBeans console. This because the Emoji's are typically non-BMP codepoints (> 0xFFFF) thus encoded with 2 UTF-16 characters ( -> "\uD83D\uDE48"
). These 2 characters are Surrogate Pairs which are a way to represent non-BMP codepoints using BMP codepoints.
The IDE is supposed to convert "\uD83D\uDE48"
to a single codepoint (0x1F648) and then ask to the font to render this codepoint and not the two separated Surrogate Pairs.
Java String class has several methods to deal with codepoints instead of chars:
String.codepoints()
String.codePointAt(int i)
Character.isBmpCodePoint(int cp)
Character.isSurrogate(char c)
Character.isHighSurrogate(char c)
Character.isLowSurrogate(char c)
Eg
Integer.toHexString("\uD83D\uDCA9".codePointAt(0)) -> 1f4a9