Как использовать специальные символы в Java / Eclipse

Как я могу использовать / отображать символы, такие как♥,♦, ♣ или ♠ в Java/Eclipse?

когда я пытаюсь использовать их напрямую, например, в исходном коде, Eclipse не может сохранить файл.

Что я могу сделать?

Edit: как найти escape-последовательность unicode?

7 ответов


проблема в том, что символы, которые вы используете, не могут быть представлены в кодировке, для которой установлен файл (Cp1252). Как я вижу, у вас по существу есть два варианта:

1. изменить кодировку. согласно IBM, вы должны установить кодировку в UTF-8. Думаю, это решит вашу проблему.
  • установите для глобальной рабочей среды предпочтений кодировки текстовых файлов > Редакторы значение "UTF-8".
  • если требуется кодировка, отличная от UTF-8, Установите кодировку в отдельном файле, а не с помощью глобальной настройки предпочтений. Для этого используйте меню Файл > свойства > информация, чтобы задать кодировку для отдельного файла.
2. удалите символы, которые не поддерживаются кодировкой символов "Cp1252". вы можете заменить неподдерживаемые символы с escape-последовательности Unicode (\uxxxx). В то время как это позволит вам сохранить файл, это не обязательно лучшее решение.

для символов, указанных в вашем вопросе, вот escape-последовательности Unicode:

♥ \u2665
♦ \u2666
♣ \u2663
♠ \u2660

В Eclipse:

  1. перейдите в окно - > Настройки - > Общие - > рабочее пространство - > TextFileEncoding
  2. установите его в UTF-8

Это можно решить, установив кодировку в eclipse:

1-й способ:

в меню выберите Файл-->Свойства а потом на "кодировка текстового файла" раздел: выберите другое радио, выберите UTF-8 из комбо - > наконец нажмите кнопку ОК

2-й способ:

щелкните правой кнопкой мыши на конкретном файле (скажем, Test.java) ->свойства. В кодировка текстового файла раздел: выберите другое радио, выберите UTF-8 из комбо -> Наконец, нажмите кнопку OK

3-й способ:

Если вы хотите сделать это изменение для всего вашего проекта, перейдите на Окно-->Настройки--> Общие--> Рабочее Место . В кодировка текстового файла раздел: выберите другое радио, выберите UTF-8 из комбо - > наконец нажмите кнопку ОК


либо измените кодировку на ту, которая справится, например UTF-8, либо найдите соответствующий номер Unicode и используйте escape-последовательность \uxxxx для его представления.


Поиск escape-последовательности unicode: см. Эти графика Юникод. Ваши персонажи находятся в разное. Символы диаграммы, \u2660 и выше.


расширение немного на @Joe Lencioni ответ

вы можете использовать anyedit Eclipse plugin (install-able from Eclipse marketplace), чтобы легко конвертировать текст Unicode в Java Unicode escapes:

  • выберите char / text с символами без ASCII
  • щелкните правой кнопкой мыши
  • Преобразовать > В Unicode Нотации

одно небольшое предостережение заключается в том, что AnyEdit хочет сначала сохранить файл, который, очевидно, запрещен Eclipse, пока вы не исправите текст.


меню Windows - > Настройки - > Общие (разверните его) - > рабочее пространство (нажмите на него). Найдите поле "кодировка текстового файла". По умолчанию будет "Cp1252". Измените радио, чтобы выбрать другое, и выберите "UTF-8" из поля со списком.