How to use Special Chars in Java/Eclipse

淺唱寂寞╮ 提交于 2019-11-27 13:09:49

The problem is that the characters you are using cannot be represented in the encoding you have the file set to (Cp1252). The way I see it, you essentially have two options:

Option 1. Change the encoding. According to IBM, you should set the encoding to UTF-8. I believe this would solve your problem.

  • Set the global text file encoding preference Workbench > Editors to "UTF-8".
  • If an encoding other than UTF-8 is required, set the encoding on the individual file rather than using the global preference setting. To do this use the File > Properties > Info menu selection to set the encoding on an individual file.

Option 2. Remove the characters which are not supported by the "Cp1252" character encoding. You can replace the unsupported characters with Unicode escape sequences (\uxxxx). While this would allow you to save your file, it is not necessarily the best solution.

For the characters you specified in your question here are the Unicode escape sequences:

♥ \u2665
♦ \u2666
♣ \u2663
♠ \u2660
sepehr

In Eclipse:

  1. Go to Window -> Preferences -> General -> Workspace -> TextFileEncoding
  2. Set it to UTF-8
idrosid

It can be solved by setting encoding in eclipse:

1st way:

At the menu select File-->Properties and then at the "Text file encoding" section: Select Other radio, Select UTF-8 from combo -> Lastly click OK button

2nd way:

Right click on specific file (say Test.java) -> Properties. In Text file encoding section: Select Other radio, Select UTF-8 from combo -> Lastly click OK button

3rd way:

If you want to make this change for all your project go at Window-->Preferences--> General--> Workspace . In Text file encoding section: Select Other radio, Select UTF-8 from combo -> Lastly click OK button

Either change your encoding to one which will cope, e.g. UTF-8, or find the relevant Unicode number and use a \uxxxx escape sequence to represent it.

Finding the unicode escape sequence: see these Unicode charts. Your characters are in the Misc. Symbols chart, \u2660 and up.

Expanding a bit on @Joe Lencioni answer

You can use AnyEdit Eclipse plugin (install-able from Eclipse marketplace) to easily convert Unicode text into Java Unicode escapes:

  • Select char/text with non-ASCII characters
  • right-click
  • Convert > To Unicode Notation

One minor caveat is that AnyEdit wants to save the file first which obviously is disallowed by Eclipse until you fix your text.

Windows Menu –> Preferences –> General (expand it) –> Workspace (click on it). Look for a box “Text File Encoding”. Default will be “Cp1252″. Change radio to select other and select “UTF-8″ from combo box.

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