在Java JTextArea中显示Unicode

在Java JTextArea中显示Unicode,java,unicode,textarea,Java,Unicode,Textarea,我正在尝试在JTextArea中打印unicode。我已经让它可以很好地打印到控制台上,但是当我尝试将它打印到文本区域时,我得到了所有两字节unicode字符的框。任何帮助都将不胜感激 package edu.afit.jieddo; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JTextAreaDemo extends JFrame { StringBuffer m =

我正在尝试在JTextArea中打印unicode。我已经让它可以很好地打印到控制台上,但是当我尝试将它打印到文本区域时,我得到了所有两字节unicode字符的框。任何帮助都将不胜感激

package edu.afit.jieddo; 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JTextAreaDemo extends JFrame {
   StringBuffer m = new StringBuffer("\u14c7 \u14c4 \u1557 \u00d6");
   StringBuffer m2 =new StringBuffer(" means one.");
   String message = m.append(m2).toString();

   public JTextAreaDemo() {
      super("\u14c7 \u14c4 \u1557 \u00d6");
      java.awt.Font font = new java.awt.Font("Arial Unicode MS", java.awt.Font.PLAIN, 18);
      JTextArea textArea = new JTextArea(message);
      textArea.setFont(font);

      java.awt.Container container=this.getContentPane();
      container.add(textArea);
      System.out.println(textArea.getFont().getFamily());// testing output in the command line
   }

   public static void main(String[] args) { 
      JTextAreaDemo frame = new JTextAreaDemo();
      frame.setFont(new Font("Arial Unicode MS",Font.ITALIC,11));
      frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
      frame.pack();
      frame.setVisible(true);
     System.out.println("\u14c7 \u14c4 \u1557 \u00d6");
      System.out.println(frame.getFont().getFamily());//testing output in the command line
   }
}

在我的Ubuntu系统上,可能从来没有听说过“Arial Unicode MS”,您的程序执行不变,完美无瑕。我在标题栏和文本区域中看到的前两个字符看起来像蜗牛,指向不同的方向。或者像小写的
d
b
躺在他们的背上

除了大小的改变,我在删除
setFont
调用时看到的字符是相同的

因此,我有根据地猜测,您使用的字体不包含这些字符。呃,这些字符的标志符号


Windows中有一个字体查看器实用程序,您可以在其中查看字体中的所有字符。蜗牛出现了吗?

在这些Unicode字符中,Arial Unicode MS仅提供U+00d6

尝试使用

顺便说一句,这是Unicode字符的一个很好的资源。只需将此URL中的XXXX替换为unicode编号:
. 例如:

Devon,完美!虽然我没有DejaVu Sans,但我确实患了幼发血症,这立刻就治好了。非常感谢!德哈武,卡尔,非常感谢你让我知道我没有疯。我花了一周的时间研究那些看起来不错的代码,并在留言板上留下了未回复的消息。我很高兴我找到了stackoverflow!祝你周末愉快!