Java Charset problem on linux

Posted by scot on Stack Overflow See other posts from Stack Overflow or by scot
Published on 2010-01-30T15:22:56Z Indexed on 2010/04/25 1:43 UTC
Read the original article Hit count: 414

Filed under:
|
|

Hi,

problem: I have a string containing special characters which i convert to bytes and vice versa..the conversion works properly on windows but on linux the special character is not converted properly.the default charset on linux is UTF-8 as seen with Charset.defaultCharset.getdisplayName()

however if i run on linux with option -Dfile.encoding=ISO-8859-1 it works properly..

how to make it work using the UTF-8 default charset and not setting the -D option in unix environment.

edit: i use jdk1.6.13

edit:code snippet works with cs = "ISO-8859-1"; or cs="UTF-8"; on win but not in linux

        String x = "½";
        System.out.println(x);
        byte[] ba = x.getBytes(Charset.forName(cs));
        for (byte b : ba) {
            System.out.println(b);
        }
        String y = new String(ba, Charset.forName(cs));
        System.out.println(y);

~regards daed

© Stack Overflow or respective owner

Related posts about java

Related posts about charset