2011-09-09 12 views
11

Mam drzewo kodu z mieszanym kodowaniem i otrzymuję powyższe ostrzeżenie dla niektórych moich plików źródłowych. Udało mi się z powodzeniem ustawić kodowanie tych plików na ISO 8859-1, a po unieważnieniu pamięci podręcznych IDEA, teraz są one poprawnie wyświetlane w edytorze. Jednak podczas kompilacji nadal otrzymuję komunikat o błędzie.Intellij IDEA: "nieodmienny znak do kodowania UTF-8" kompilujący pliki ISO-8859-1

Konstrukcje produkcyjne używają mrówki i nie jest to problem, ale oznacza to, że nie mogę "dokonać" w IDE. Czy istnieje sposób na to, aby IDEA poprawnie je skompilował, lub, jeśli tego nie zrobił, zepsuł błąd do ostrzeżenia?

+0

Nie mam pojęcia o IDEA, ale dlaczego potrzebujesz drzewa kodu z mieszanym kodowaniem? Czy konwersja wszystkich plików na UTF-8 nie ułatwiłaby życia? –

+0

Pliki, o których mowa, mają do czynienia z dopasowaniem wyrażenia regularnego w danych obcojęzycznych ze znanymi kodowaniami. Łatwiejsze i mniej podatne na błędy jest zapisywanie wyrażeń regularnych w kodowaniu, które pasujesz do ... tak przypuszczam. (Jestem nowy w tej bazie kodu.) –

+0

Gdy ciągi są w pamięci, to mimo wszystko są one UTF-16, niezależnie od kodowania plików (zakładając, że je skompilowałeś). Więc chociaż widzę, dlaczego te pliki zostały utworzone w tych kodowaniach, nic nie przemawia przeciwko ich konwersji. (Oczywiście, możesz również spróbować naprawić błąd IDEA.) –

Odpowiedz

3

Wygląda jak known bug.

+0

Mam projekt jednomodułowy, więc jeśli ten błąd jest dokładnie zgłoszony, myślę, że patrzę na coś innego. –

+0

Możesz zgłosić osobny numer i dołączyć przykładowy projekt, abyśmy mogli go zbadać. – CrazyCoder

27

I rozwiązać ten problem dodając tę ​​właściwość w IntelliJ panelu opcji Compiler/Java Compiler: Parametry

Dodatkowa linia poleceń: -encoding ISO-8859-1

1

Jeśli używasz IntelliJ, najszybszym sposobem dla mnie było :

File -> File encoding

i wybierz ten, który chcesz, w tym przypadku ISO-8859-1.

1

w /.idea fold, istnieje plik encodings.xml, można go zmienić, <file url="file://$PROJECT_DIR$" charset="UTF-8" /> UTF-8 na ISO-8859-1.