LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Displaying Unicode Characters (https://www.linuxquestions.org/questions/programming-9/displaying-unicode-characters-863772/)

Whatif 02-19-2011 02:16 PM

Displaying Unicode Characters
 
I wrote a java program that writes strings to a file. The strings contain foreign language characters. When I run the program in Windows, the output file shows the foreign characters. However, when I attempt the same operation in Linux, the output file shows a white question mark in a black background instead of the foreign characters.

The same Linux system could display the foreign characters if I copy the output file from Windows to Linux. I tried to create the output file using gedit that my program would then add additional strings to and chose Unicode-32 for encoding but still the same problem.

What could I do to get the program to display the foreign language characters from output text file?

Your help will be much appreciated,
Mike

Tinkster 02-19-2011 04:17 PM

What's your locale?

Whatif 02-19-2011 08:43 PM

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL

graemef 02-19-2011 11:44 PM

It could be that the font you are using in your program doesn't have the characters to display some of your unicode characters. Whilst the font used in gedit does.

Whatif 02-20-2011 08:19 AM

I don't use the program to display the characters. At the end when the program done writing to the text file, I open the text file to check the result. The text file opens in gedit. gedit could display foreign characters from the file generated on Windows but can't do the same for the file generated on Linux by the same program.

Whatif 02-21-2011 04:08 PM

I checked the difference between the two files generated by the program on Windows and Linux. I found that the file from Windows has Western (ISO-8859-15) encoding. I then changed the encoding of the file on Linux hoping that it would fix the problem. The white question mark in a black background is no longer present but there are weird characters instead of the foreign characters. When I opened both files in Linux using gedit both of them used the same font, Monospace.

Any suggestions as to what I should do next?

Tinkster 02-21-2011 05:42 PM

What does
Code:

file -bi
think the encoding of the java generated file in Linux is?

I'm wondering whether java somehow ignores the OSes LC and
goes w/ something else instead.



Cheers,
Tink


All times are GMT -5. The time now is 04:52 PM.