Hello and thank you for reading my post.
My problem is the following: I want to compile a Java source file with "javac" with this file being UTF-8 encoded with a BOM (the OS is WinXP).
Below is what I do:
1) Create a file with "Notepad" and choose the UTF-8 encoding
dos> notepad Test.java "File -> Save as..." File name : Test.java Save as type: All Files Encoding : UTF-8 Save
2) Create a Java class in that file and saved the file like in 1)
public class Test { public static void main(String [] args) { System.out.println("This is a test."); } }
3) Visualize the hexadecimal version of the file (first line)
dos> xxd Test.java | head -1 0000000: efbb bf70 7562 6c69 6320 636c 6173 7320 ...public class
Note: ef bb bf is the UTF-8 encoded BOM (the UTF-16 encoded BOM being FE FF).
4) Try to compile this code with "javac"
dos> javac -encoding utf8 Test.java Test.java:1: illegal character: \65279 ?public class Test ^ 1 error
Note: 65279 is the decimal version of the BOM.
My question is the following: how can I make this compiling work with:
- keeping it UTF-8 encoded
- and keeping the BOM?
Thank you for helping and best regards.
Read full article from utf 8 - Compiling (javac) a UTF8 encoded Java source code with a BOM - Stack Overflow
No comments:
Post a Comment