Проблема чтения файла с использованием кодировки UTF-8 в Java - PullRequest
0 голосов
/ 18 октября 2010

, когда я читаю весь XML-файл в JEditorPane, все работает отлично, за исключением спецификатора спецификации. Я получаю спецификацию BOM (точку) в начале файла. Если я удаляю точку и сохраняю файл, он сохраняется как ANSI. В блокноте ++ он показывает (ANSI как UTF-8) кодирование для того же файла. Если я не удаляю точку, парсер XML не сможет разобрать документ. Можете ли вы помочь мне с этим. ???? спасибо.

Ответы [ 4 ]

1 голос
/ 18 октября 2010

Если ваш XML-файл содержит только символы ASCII, он будет действительным ASCII / ANSI, а также допустимым UTF8, поэтому не беспокойтесь о том, что Notepad ++ распознает файл как ANSI.

Несмотря на то, что вы можете использовать спецификацию для UTF8, это не рекомендуется, потому что она сломает многие программы Unix, и вам действительно не следует этого делать.

1 голос
/ 18 октября 2010

Продолжайте использовать UTF-8 без спецификации.Попробуйте Editplus, перейдите в меню Документ-> Кодировка файла -> Изменить кодировку файла, затем выберите UTF-8.

0 голосов
/ 18 октября 2010

Проблема:

utf-8 не использует спецификацию, поэтому большинство программ этого не ожидают и не могут ее обработать Насколько я знаю, только некоторые программы Microsoft вставляют его для более быстрого определения кодировки utf-8.

Решение:

  • Удалите спецификацию, она никому не нужна.
  • Не используйте глючные редакторы с нестандартной кодировкой. (=> Мое мнение)
0 голосов
/ 18 октября 2010

Используя параметр -D команды java, установите системное свойство file.encoding, как предлагается в этом ответе .

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