2016-06-05 3 views
1

Я не смог заставить эти символы отображаться внутри кода (или простого файла .txt) в Netbeans.Netbeans не отображает символы юникода UTF8 (смайлики) правильно

✰☆★☞☛❸➂❤♡✉

Вместо этого они apprear в виде белых квадратов, как это:

☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐☐

Я использую Netbeans IDE 8.0.2. Я уже установил -J-Dfile.encoding=UTF-8 в ../etc/netbeans.conf. В свойствах моего проекта я установил Encoding : UTF-8. Инструменты> Настройки> Шрифты & Цвета> По умолчанию> Шрифт> Courier New 13.

Интересно, что когда я открываю тот же текстовый файл с помощью Notepad ++ 6.9 (и с помощью «Courier New» шрифт), я могу увидеть все те персонажи отлично! Microsoft Word также отображает их правильно.

Я на ОС Windows 10.

Две другие интересные заметки:

  • Другой вид сердца характера () делает работу в Netbeans IDE 8.0.2, используя Courier New 13.
  • Изменение шрифтов, кроме Courier New 13 (в Netbeans), может иногда приводить к некоторым символов, отображающих правильно.
    • Но я действительно хотел бы продолжить использование Courier New 13 в Netbeans, и я хочу исправить Netbeans, чтобы он правильно отображал все эти символы (как Notepad ++ и другие программы уже делают).
+0

Какова кодировка вашего проекта? –

+0

@AlastairMcCormack В свойствах моего проекта я установил 'Encoding: UTF-8'. – Ryan

ответ

1

Чтобы это исправить, нужно найти шрифт, который поддерживает эти символы, а затем:

  • (возможно) скачать и установить этот шрифт.
  • Установить, что шрифт в NetBeans в двух местах (Сервис -> Параметры -> Шрифты & Цвета -> Шрифт для окна редактирования, и Сервис -> Параметры -> Разное -> Шрифт для окна вывода).

Я уточнил детали выполнения всего этого в an answer to this SO post.

Одним из решений является изменение шрифта NetBeans как для редактора, так и для выходного окна для Symgo-код Segoe UI. Загрузка шрифтов не требуется, поскольку она уже доступна в NetBeans 8.2. Вот источник и выход из программы испытаний:

nbSymbols

... когда я открываю тот же текстовый файл с помощью Notepad ++ 6.9 (и с помощью «Courier New» шрифт), я могу видеть все эти персонажи отлично! Microsoft Word также отображает их правильно.

Я не использую Notepad ++ или Word, но происходит следующее в ОС Windows WordPad:

  • Если открыть WordPad шрифт показан как Calibri 11.
  • Когда я вставляю строку символов из OP, она отображается правильно, но шрифт сбрасывается на символ пользовательского интерфейса Segoe. Предположительно, Wordpad признает, что Calibri 11 не может обрабатывать вложенный текст и выбирает альтернативный шрифт, который может.
  • Если я набираю текст на линии над или под символьной строкой , шрифт снова сбрасывается, до Calibri 11. То же самое происходит, если я использую Courier вместо Calibri.

Таким образом, WordPad позволяет документу использовать несколько шрифтов и, насколько мне известно, не поддерживается редактором NetBeans. Вы уверены, что Word и Notepad ++ действительно используют Courier New 13 для визуализации символов? WordPad определенно нет.

Я бы очень хотел, чтобы продолжать использовать Courier New 13 в Netbeans, и я хочу исправить Netbeans так, чтобы он правильно отображает все эти символов

С Courier New 13 является шрифт с монослоем в NetBeans, следует ожидать, что он не сможет обрабатывать символы ширины переменной в OP, и в любом случае он просто не поддерживает эти символы, которые намного моложе шрифта Courier. Я не думаю, что есть что-то, что можно «исправить» с помощью NetBeans.

У вас все еще есть символы символов из OP в исходном коде программы, но их нужно указывать как строки Unicode, и, конечно же, вы можете продолжить использовать шрифт Courier New. Для примера см. Код на снимке экрана выше.

Смежные вопросы