java: illegal character: '\ufeff'

java: illegal character: '\ufeff'
N5
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad rok
  • Postów:24
0

Przepraszam, jeżeli taki temat już był. Oczywiście istnieją informacje w internecie, jednak nie potrafię rozwiązać problemu.

Przez jakieś pół roku nie odpalałem mojego projektu, który jak dobrze pamiętam działał bez zarzutu.
Teraz jak chcę skompilować projekt zarówno na stacjonarce jak i lapku pojawiają się 2 identyczne błędy w 4 klasach.

Error:(1, 1) java: illegal character: '\ufeff'
Error:(1, 9) java: class, interface, or enum expected

Czy ktoś może mi wytłumaczyć mniej więcej na czym polegają? Czego może brakować? Środowisko to intellij idea.

Dodam, że posiadam także ten sam projekt w poprzedniej wersji bez kilku funkcjonalności i działa bez zarzutu. Trochę mnie gubi ten błąd. Może nowsza wersja jdk lub coś pokrewnego może powodować błąd?

Przepraszam za niekompetencję.

Pozdrawiam
nano50

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

Edytowałeś plik jakimś dziwnym edytorem i zapisałeś go jako UTF-8 with BOM. BOM to jest Byte-Order-Mark, takie 2 nieprintowalne bajty które określają czy jest to little czy big endian. Wywal te 2 dzikie bajty z tego pliku (np. hexedytorem) i po kłopocie.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
N5
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad rok
  • Postów:24
1
Shalom napisał(a):

Edytowałeś plik jakimś dziwnym edytorem i zapisałeś go jako UTF-8 with BOM. BOM to jest Byte-Order-Mark, takie 2 nieprintowalne bajty które określają czy jest to little czy big endian.

Dzięki wielkie, właśnie naprawiłem problem. Dla przyszłych szukających:

  1. Kliknij na utf-8 na dole ekranu i wybierz np. utf-16.
  2. kliknij convert.
  3. Zmień z powrotem utf-16 na utf-8(convert)
  4. ?? Profit

Dzięki wielkie, życzę miłego wieczoru. :)

Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

W ramach ciekawostki powiem że bywa gorzej. Widziałem fuckup na produkcji gdzie ktos tak edytował plik .properties i efekt był taki że pierwsze property z tego pliku było "popsute" (bo z tym doklejonym BOM) i aplikacja brała default gdzieśtam zdefiniowany i nagle prodowa aplikacja stukała po jakichś testowych endpointach :D


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
jarekr000000
Zrobiłem takie fuckupy - nie na produkcji, ale zawsze. (Jakiś badziewny edytor te BOMy dodawał)
Shalom
A większość edytorów BOMa nie "wyświetla" w żaden sposób, więc człowiek zaczyna wątpić w swoją poczytalność, bo property w pliku jest, startujesz aplikacje i ona go nie widzi :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.