I'm writing a java app that should support multiple languages. The text is already available in different languages. it is unknown in advance.
In case i print it to System.out
or to a log or to a socket it appears as question mark (?) when running on Ubuntu server.
Running on my local windows machine it works. in both cases i didn't change the file.encoding but using the system defaults (isn't it "UTF-8" for java if its not set?)
I assume its related to encoding but need your help.
Asked
Active
Viewed 41 times
0

Soner Gönül
- 97,193
- 102
- 206
- 364

fredy
- 575
- 2
- 9
- 20
-
"In case i print it..." - what is "it"? How exactly did you implement the support for multiple languages? Show your code. Right now, your question contains too little information for someone to give you a useful answer. The default character encoding is not always UTF-8, it depends on the system (and on Windows it is most likely not UTF-8). – Jesper Jun 15 '15 at 10:43
-
on ubuntu the follwoing code: System.out("שלום"); // display as ???? – fredy Jun 15 '15 at 10:46
-
Do you hold all translations in properties files? – Arek Jun 15 '15 at 10:58
-
1The default is not UTF-8: http://stackoverflow.com/questions/1006276/what-is-the-default-encoding-of-the-jvm – selalerer Jun 15 '15 at 11:12
-
i'm getting the String text from socket (read fine). Trying to set the following didn't work: System.setProperty("file.encoding", "UTF-8"); – fredy Jun 15 '15 at 18:57