java8字符集,如何解决字符乱码问题?
1、java8支持的字符集:
@Test
public void test() {
Map<String,Charset> map = Charset.availableCharsets();
Set<Map.Entry<String,Charset>> entrySet = map.entrySet();
for(Map.Entry<String,Charset> entry:entrySet) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}

2、运行程序查看所支持的字符集

3、编码与解码字符:
public void test1() throws Exception {
Charset charset = Charset.forName("GBK");
CharsetEncoder charsetEncoder = charset.newEncoder();
CharsetDecoder charsetDecoder = charset.newDecoder();
CharBuffer charBuffer = CharBuffer.allocate(1024);
charBuffer.put("你好,中国威武");
charBuffer.flip();
//编码
ByteBuffer byteBuffer = charsetEncoder.encode(charBuffer);
//解码
CharBuffer charBuffer1 = charsetDecoder.decode(byteBuffer);
System.out.println(charBuffer1.toString());
}

4、运行程序查看程序运行结果:

5、GBK与UTF-8字符编码转换
@Test
public void test2() throws Exception {
Charset charset = Charset.forName("GBK");
CharsetEncoder charsetEncoder = charset.newEncoder();
CharBuffer charBuffer = CharBuffer.allocate(1024);
charBuffer.put("你好,中国威武");
charBuffer.flip();
//编码
ByteBuffer byteBuffer = charsetEncoder.encode(charBuffer);
//解码
CharBuffer charBuffer1 = Charset.forName("UTF-8").decode(byteBuffer);
System.out.println(charBuffer1.toString());
}

6、运行程序查看程序运行结果:
