Почему Eclipse использует кодировку Cp1252?

Извините, если это очень дилетантский вопрос! Я знаю, что Eclipse использует кодировку Cp1252 по умолчанию.
Недавно я создал программу, использующую хэш-карты для преобразования вводимых букв в шрифт Брайля. Для этого мне пришлось изменить метод кодировки на UTF-8.

Я очень мало знаю об обоих, но все, что я читал, указывает на то, что UTF-8 может представлять каждый символ в Unicode и имеет гораздо большую библиотеку распознаваемых символов.

Почему же тогда это не предпочтительный стиль кодирования для Eclipse?


person Andrew Martin    schedule 09.12.2012    source источник
comment
что вы подразумеваете под Eclipse использует Cp1250 по умолчанию для своей кодировки.? Консоль в eclipse использует кодировку вашей ОС по умолчанию. Или вы говорите о файловом вводе-выводе?   -  person jlordo    schedule 10.12.2012
comment
Eclipse должен использовать кодировку по умолчанию на вашем компьютере, которая должна быть установлена ​​в Windows как CP1250. Это, вероятно, то, что вы хотите изменить.   -  person Diego Basch    schedule 10.12.2012
comment
Эй, я совсем новичок в этом, но это то, что я имею в виду. В Свойствах -> Ресурс -> Кодировка текстового файла -> По умолчанию установлено, что это Унаследовано от контейнера (Cp1252). Чтобы мой файл работал, мне пришлось изменить его на UTF-8.   -  person Andrew Martin    schedule 10.12.2012
comment
@DiegoBasch: Вы знаете, как это изменить?   -  person Andrew Martin    schedule 10.12.2012
comment
stackoverflow.com/questions/2707986/   -  person Michał Ziober    schedule 10.12.2012
comment
@mykhaylo: Спасибо за ответ. Я уже изменил кодировку, я имел в виду, есть ли способ изменить ее на уровне компьютера, вне Eclipse, как намекал Диего Баш.   -  person Andrew Martin    schedule 10.12.2012
comment
На самом деле он задает правильный вопрос: почему тогда этот стиль кодирования не является предпочтительным для Eclipse? то есть, почему Eclipse предварительно не настроен на использование UTF-8 для текстовых файлов? Это очень хороший вопрос.   -  person Isaac    schedule 10.12.2012
comment
Я задавал себе точно такой же вопрос, так как это повторяющаяся проблема при работе в команде. Ответ заключается в том, что вот уже почти 10 лет этот вопрос остается открытым: ошибки. eclipse.org/bugs/show_bug.cgi?id=108668 Проголосуйте за него, если вы не согласны с платформой по умолчанию (которую вы обычно не выбирали)   -  person Didier L    schedule 03.12.2014


Ответы (1)


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

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

Что касается почему UTF-8 не является кодировкой по умолчанию для текстовых файлов, причина в том, что во всем мире все еще существует значительное количество текстовых файлов, для которых UTF-8 не является обратной. совместимый. Хотя UTF-8 обратно совместим с большинством западных кодировок, это не относится к другим кодировкам.

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

Чтобы изменить кодировку по умолчанию, просто перейдите в «Рабочая область» -> «Настройки» и введите «кодировка» в поле поиска в левом верхнем углу диалогового окна. Eclipse отфильтрует диалоговое окно настроек, чтобы оно содержало элементы, относящиеся к кодировкам.

person Isaac    schedule 09.12.2012
comment
У меня Windows 8 - использует ли он Cp1252 по умолчанию (извините - я изначально написал, что это Cp1250, но это Cp1252)? - person Andrew Martin; 10.12.2012
comment
Любая версия Windows (включая 8), настроенная на английский-американский (и, возможно, другие типы английского языка, такие как английский-канадский и некоторые другие языки), по умолчанию будет использовать Cp1252. - person Isaac; 10.12.2012
comment
Спасибо, это как раз то, что я хотел знать. Это потому, что это инструмент кодирования Microsoft, не так ли? - person Andrew Martin; 10.12.2012
comment
Ваш вопрос, почему UTF-8 не является кодировкой по умолчанию для текстовых файлов, является очень хорошим вопросом. Я отредактировал свой ответ, чтобы уточнить это. - person Isaac; 10.12.2012
comment
Спасибо за информацию, Исаак, за исключением того, что я не полностью согласен с вашим ответом о значениях по умолчанию UTF-8. Я бы предположил (хотя, по общему признанию, с западно-ориентированной точки зрения), что львиная доля простых текстовых файлов - это ASCII. Если вы не думали о другом формате, это делает ваш ответ недействительным, потому что UTF-8 был разработан для обратной совместимости с ASCII. - person David Woods; 15.11.2013