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

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

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

Что мне делать?

Обновлено: как найти escape-последовательность Unicode?

вы всегда можете нажать Alt + number-from-keypad, просто знайте таблицу ascii.

Infested 21.06.2013 14:39
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
26
1
75 859
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

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

Ответ принят как подходящий

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

Вариант 1. Измените кодировку.По данным IBM, следует установить кодировку UTF-8. Я считаю, что это решит вашу проблему.

  • Set the global text file encoding preference Workbench > Editors to "UTF-8".
  • If an encoding other than UTF-8 is required, set the encoding on the individual file rather than using the global preference setting. To do this use the File > Properties > Info menu selection to set the encoding on an individual file.

Вариант 2. Удалите символы, которые не поддерживаются кодировкой символов «Cp1252». Вы можете заменить неподдерживаемые символы на Управляющие последовательности Unicode (\ uxxxx). Хотя это позволит вам сохранить файл, это не обязательно лучшее решение.

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

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

Я бы сказал, что второй вариант предпочтительнее, потому что он делает файл более переносимым между различными исходными кодировками. Конечно, это зависит от того, где находятся символы (строковые литералы? Комментарии? README?).

McDowell 14.10.2008 15:03

Я бы сказал, что первый вариант предпочтительнее, потому что любому, кто использует любую кодировку, отличную от UTF-8 (конечно, любой, кто использует кодировку для конкретной страны) для своих исходных файлов, нуждается в помощи. :)

Cowan 14.10.2008 16:02

Исходные файлы Java обрабатываются как кодировка ОС по умолчанию (некоторая 8-битная CP в Windows; UTF8 в Linux). Отказ от написания ASCII означает, что вы должны убедиться, что разработчики знают об этом до компиляции, и рискуют внести ошибки, если они этого не сделают. Материал I18N должен быть в файлах свойств (UTF8 по определению).

McDowell 14.10.2008 17:12

Ты просто классный чувак

Shishir Shetty 03.02.2012 19:05

+1; Чтобы не искать кодовую точку каждого символа, можно использовать плагин AnyEdit eclipse. Подробности смотрите в моем ответе.

Piotr Findeisen 29.10.2013 13:51

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

1-й способ:

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

2-й способ:

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

3-й способ:

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

Поиск escape-последовательности Unicode: см. Эти Диаграммы Unicode. Ваши персонажи попали в Разное. Таблица символов, \ u2660 и выше.

В Eclipse:

  1. Перейдите в Window -> Preferences -> General -> Workspace -> TextFileEncoding.
  2. Установите его в UTF-8

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

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

Вы можете использовать подключаемый модуль AnyEdit Eclipse (устанавливается с торговой площадки Eclipse), чтобы легко преобразовать текст Unicode в escape-последовательности Unicode Java:

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

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

Другие вопросы по теме