Как замаскировать HTML-Unicode в Java - PullRequest
0 голосов
/ 06 декабря 2011

Как мне написать знак, такой как ◄ и ► (забавно ... здесь он не маскируется сам по себе, здесь вы идете :) ◄ и ► в Java, когда мне нужна эта форма \u00df (то есть"ß", к вашему сведению) ... Я пытался просто поместить его в шестнадцатеричный код, например \u25BA, но это привело к ложным символам.Что мне не хватает?

Пожалуйста, будьте любезны опубликовать ответ и метод!

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Этот код Swing работает для меня:

public static void main(String[] args) {
    String labelText = "\u25C4 \u25BA";
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel panel = new JPanel();
    frame.add(panel);
    JLabel label = new JLabel();
    label.setText(labelText);
    panel.add(label);
    frame.pack();
    frame.setVisible(true);
}

Вы делаете что-то совсем другое?

Вы, конечно, можете испортить это, используя шрифты, которые не поддерживают этот символ. Так например ...

    JTextField field = new JTextField();
    field.setText(labelText);

    // this font has the symbol
    field.setFont(new Font("Courier New", Font.PLAIN, 12));
    panel.add(field);
    field = new JTextField();
    field.setText(labelText);

    // this font does not
    field.setFont(new Font("Microsoft Sans Serif", Font.PLAIN, 12));
    panel.add(field);
    panel.add(field);
0 голосов
/ 06 декабря 2011

Если ваша страница в формате UTF-8:

response.setContentType("text/html; charset=UTF-8")

, вы можете оставить символы в источнике.(Ваша IDE / редактор также должна быть настроена на UTF-8.)

...