Java, Ant error: unmappable character for encoding Cp1252

强颜欢笑 提交于 2019-11-27 17:56:29

问题


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.


回答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.




回答2:


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




回答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.




回答4:


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




回答5:


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".



来源:https://stackoverflow.com/questions/23399865/java-ant-error-unmappable-character-for-encoding-cp1252

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!