Как использовать специальные символы в Java / Eclipse
Как я могу использовать / отображать символы, такие как♥,♦, ♣ или ♠ в Java/Eclipse?
когда я пытаюсь использовать их напрямую, например, в исходном коде, Eclipse не может сохранить файл.
Что я могу сделать?
Edit: как найти escape-последовательность unicode?
7 ответов
проблема в том, что символы, которые вы используете, не могут быть представлены в кодировке, для которой установлен файл (Cp1252). Как я вижу, у вас по существу есть два варианта:
1. изменить кодировку. согласно IBM, вы должны установить кодировку в UTF-8. Думаю, это решит вашу проблему.2. удалите символы, которые не поддерживаются кодировкой символов "Cp1252". вы можете заменить неподдерживаемые символы с escape-последовательности Unicode (\uxxxx). В то время как это позволит вам сохранить файл, это не обязательно лучшее решение.
- установите для глобальной рабочей среды предпочтений кодировки текстовых файлов > Редакторы значение "UTF-8".
- если требуется кодировка, отличная от UTF-8, Установите кодировку в отдельном файле, а не с помощью глобальной настройки предпочтений. Для этого используйте меню Файл > свойства > информация, чтобы задать кодировку для отдельного файла.
для символов, указанных в вашем вопросе, вот escape-последовательности Unicode:
♥ \u2665
♦ \u2666
♣ \u2663
♠ \u2660
В Eclipse:
- перейдите в окно - > Настройки - > Общие - > рабочее пространство - > TextFileEncoding
- установите его в 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" из поля со списком.