Конвертация персонажей в моих Java-классах в Eclipse испорчена. Как это исправить? - PullRequest
2 голосов
/ 11 ноября 2009

Я получил проект затмения, который работал нормально.

Однажды мне пришлось отформатировать машину, поэтому я скопировал свое рабочее пространство в резервную копию, после повторной установки eclipse я импортировал свои проекты из своего резервного рабочего пространства.

Что произошло, так это то, что повреждена вся строка, содержащая специальные символы ..

как .. é, são и т. Д. До É, são ...

Есть ли способ вернуть его в нормальное состояние?

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

Ответы [ 4 ]

6 голосов
/ 11 ноября 2009

Вам необходимо перенастроить кодировку рабочей области. Перейдите к Окно > Предпочтения и введите текст фильтра "кодировка" и установите UTF-8 везде, где это применимо, особенно Рабочая область ' s кодировка текста.

2 голосов
/ 11 ноября 2009

Есть ли способ вернуть его в нормальное состояние?

Вы пытались закрыть отдельный файл, щелкнув его правой кнопкой мыши, чтобы открыть свойства, и вручную установить его кодировку?

как .. é, são и т. Д. До à ‰, sà £ o ...

Вы уверены, что это не & # x00c9; (U + 00C9), который становился & # x00C3; & # x2030; (U + 00C3 U + 2030)

Это предполагает, что файлы, которые раньше интерпретировались как UTF-8, теперь интерпретируются как что-то другое (вероятно, windows-1252).


Многие проблемы компиляции Java можно исправить, если придерживаться подмножества значений, отображаемых в кодировке символов US-ASCII, и использовать escape-последовательности Unicode для всего остального (предполагается, что вы не используете UTF-16 или UTF-32 или что-то).

Код String foo = "É"; станет String foo = "\u00C9";. Это улучшает переносимость исходного кода за счет читабельности.

Вы можете использовать инструмент JDK native2ascii для выполнения преобразования:

native2ascii -encoding UTF-8 Foo.java
0 голосов
/ 11 ноября 2009

Как выглядят реальные файлы .java на диске? Они повреждены или просто затмение не может отображать их правильно? Если файлы хорошо выглядят на диске, установка свойства кодирования в соответствии с предложением jjnguy должна помочь.

Если файлы повреждены на диске, может быть iconv сможет их "испортить"?

Чтобы избежать такой проблемы в будущем, я на самом деле предлагаю сохранить java-файлы в простом ASCII, используя экранирование \ uNNNN для не-ascii символов в строках и т.д. две точки выше).

0 голосов
/ 11 ноября 2009

Это, вероятно, глупое предложение, но я решил упомянуть об этом в любом случае. Вы открываете свой file.class или file.java? Потому что файлы *.class, если я правильно помню, являются двоичными файлами, что объясняет, почему вы видите эти странные символы. Файлы *.java являются исходными текстовыми файлами.

Полагаю, вы это знали, но формулировка заставила меня чувствовать себя иначе, поэтому я решил упомянуть об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...