user2666282
user2666282

Reputation: 373

Java, Ant error: unmappable character for encoding Cp1252

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.

Upvotes: 22

Views: 89055

Answers (5)

Andrea Luciano
Andrea Luciano

Reputation: 491

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

Upvotes: 13

StinkyMadness
StinkyMadness

Reputation: 11

Window > Preferences > General > Content Types, set UTF-8 as the default encoding for all content types.

Window > Preferences > General > Workspace, set "Text file encoding" to "Other : UTF-8".

Upvotes: 0

Matthew M
Matthew M

Reputation: 1155

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.

Upvotes: 21

Gopi
Gopi

Reputation: 79

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.

Upvotes: 4

Venugopal Madathil
Venugopal Madathil

Reputation: 2021

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

Change encoding

Upvotes: 1

Related Questions