Я разбираю много .java-файлов с последними JavaParser.Исключение JavaParser «Лексическая ошибка», возникающая при анализе файла с немецкими умляутами (äöüß)
Файлы обрабатываются так:
in = new FileInputStream(file);
cu = JavaParser.parse(in);
следующее исключение возникает, как только один из исходных-файлов содержит немецкий умляут (ä, ö, ü, ß) (они появляются только в комментарии .java-файла)
Exception in thread "main" japa.parser.TokenMgrError: Lexical error at line 82, column 17. Encountered: "\ufffd" (65533), after : ""
Что я могу сделать, чтобы исправить эту проблему. Я не могу изменить все исходные файлы.
Оба кодировки не смогли исправить мою проблему. – Hedge
@Hedge Означает ли оно то же или другое сообщение об ошибке? Немного сложно догадаться, какая кодировка используется, но если JavaParser использует NIO, может потребоваться вместо этого записать 'ISO-8859-1'. Если это не сработает, попробуйте переключить UltraEdit в шестнадцатеричный режим и опубликуйте, как одна или несколько букв закодированы в шестнадцатеричном формате. Это позволит довольно легко найти правильную кодировку. –
Я пробовал UTF8, UTF-8, ISO-8859-1 и SO8859_1. Шестнадцатеричное число для 'ü' равно FC – Hedge