Java, Ant error: unmappable character for encoding Cp1252

76,595

Solution 1

This can be tricky simply changing the "advertised" encoding does not make up for the fact that there are bytes in the file that cannot be understood using a UTF-8 interpretation. In Ant you will need to update the javac task to add an encoding like, <javac ... encoding="utf-8">

Make sure that the file encoding in Eclipse is also UTF-8 because some cp1252 characters do not directly map into UTF-8 either. You will probably want to maintain your entire project using a single encoding. Otherwise the compiler will be seeing different encodings when it only expects one.

Solution 2

You can try to set the environment variable called ANT_OPTS (or JAVA_TOOL_OPTIONS) to -Dfile.encoding=UTF8

Solution 3

Had the similar issue in one of my projects. Some of my files had UTF-8 characters and due to eclipse default encoding - cp1252, build failed with this error.

To resolve the issue, follow the below steps -

  1. Change the encoding at eclipse project level to UTF-8 (Project properties -> "Text file encoding" -> select "Other" option -> select "UTF-8" from the drop down)
  2. Add encoding attribute for javac task in ant build script with value "UTF-8"

Set the encoding type according to the special characters used in your code/files.

Solution 4

Go to common tab of RUN/DEBUG configuration in eclipse change encoding to UTF-8.

Change encoding

Share:
76,595

Related videos on Youtube

user2666282
Author by

user2666282

Updated on July 09, 2022

Comments

  • user2666282
    user2666282 almost 2 years

    I am using Java, Eclipse and Ant in my project. I had some Java code that I needed to edit and add some UTF-8 chars in them. Previously my build.xml had: And it worked fine. Now after adding those UTF-8 chars when I try to run, it throws "error: unmappable character for encoding Cp1252"

    Could anyone please tell me what is the fix? I tried changing the encoding to UTF-8 and Cp1252 in the xml but with no luck.

    I'm using JRE7, Eclipse Kepler and Ant 4.11.

    • Gangnus
      Gangnus over 8 years
      The problem should be solved in four places simultaneously: stackoverflow.com/a/34225997/715269
    • 1vand1ng0
      1vand1ng0 over 6 years
      I had the same problem. None of the solutions below worked. I created a new file with the right encoding and then copied and pasted the contents of the class (.java). It worked for me. Previous to that the unknown character kept reinserting itself when I run ant, event when I explicitly deleted it and saved the file. Weird right?
  • The Guest
    The Guest almost 9 years
    How to : Make sure that the file encoding in Eclipse is also UTF-8 ?