MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » 关于字符编码与解码的几个小问题,希望大家一起讨论

关于字符编码与解码的几个小问题,希望大家一起讨论(5)

www.MyException.Cn  网友分享于:2015-08-27  浏览:29次

个人认为是会产生影响的,如果你的系统编码不是支持中文的,比如是ISO-8859-1,那么含有中文的java文件可能就编译不通过吧,个人想法!

二、String s = "abc"; 这里的abc的字符集是跟操作系统的字符集编码一致还是JVM的?
是跟操作系统一致吧。

三、如何将servlet的response.getWriter().print(xml);输入的到界面的字符集改…

------解决方案--------------------
我想拿个分 感谢人
------解决方案--------------------
mark it
------解决方案--------------------
.java文件的编码是可以自己设定的,在开发工具里就可以设,我的默认的是GBK,换成UTF-8后,用ANT编译还要多加上一个编码属性encoding="utf-8"才能编译成功,反之是GBK的,加了属性也不会编译成功
------解决方案--------------------
帮顶了!
------解决方案--------------------
~~

------解决方案--------------------
探讨
.java文件的编码是可以自己设定的,在开发工具里就可以设,我的默认的是GBK,换成UTF-8后,用ANT编译还要多加上一个编码属性encoding="utf-8"才能编译成功,反之是GBK的,加了属性也不会编译成功

------解决方案--------------------
asdfasdf
------解决方案--------------------
这个很有用,mark
------解决方案--------------------
Java code


String temp1 = "汉字";

String temp2 = new String(temp1.getBytes("gbk"),"utf-8"); //乱码
String temp3 = new String(temp2.getBytes("utf-8"),"gbk"); //乱码 -1

String temp1 = "汉字";
String temp2 = new String(temp1.getBytes("utf-8"),"utf-8"); //乱码
String temp3 = new String(temp2.getBytes("gbk"),"utf-8"); //正常

String temp4 = new String(temp1.getBytes("utf-8"),"utf-8"); //正常
String temp4 = new String(temp1.getBytes("GBK"),"GBK");// 正常
String temp4 = new String(temp1.getBytes("iso-8859-1"),"iso-8859-1"); //乱码 -2

------解决方案--------------------
上面,更正一下 

Java code


String temp1 = "汉字";

String temp2 = new String(temp1.getBytes("gbk"),"utf-8"); //乱码
String temp3 = new String(temp2.getBytes("utf-8"),"gbk"); //乱码 -1

String temp2 = new String(temp1.getBytes("utf-8"),"gbk"); //乱码
String temp3 = new String(temp2.getBytes("gbk"),"utf-8"); //正常

String temp4 = new String(temp1.getBytes("utf-8"),"utf-8"); //正常
String temp4 = new String(temp1.getBytes("GBK"),"GBK");// 正常
String temp4 = new String(temp1.getBytes("iso-8859-1"),"iso-8859-1"); //乱码 -2

------解决方案--------------------
顶一下
------解决方案--------------------
探讨
GBK中的所有字符都可以一一映射到Unicode 2.0!

------解决方案--------------------
探讨
楼上的,我也做过同样的测试,呵呵!
就是不明白为什么String temp2 = new String(temp1.getBytes("gbk"),"utf-8");结果是乱码,String temp3 = new String(temp2.getBytes("utf-8"),"gbk"); 后还是乱码。
怎么才能String temp2 = new String(temp1.getBytes("gbk"),"utf-8");后再解回来呢?

------解决方案--------------------
Java code

public class Test
{
  public static void main(String[] args) throws UnsupportedEncodingException
  {
    String temp1 = "汉字";
    byte[] bytes = temp1.getBytes("gbk");

    String temp2 = new String(bytes,"utf-8"); 
    String temp3 = new String(bytes,"gbk"); 
        
    System.out.println(temp1);
    System.out.println(temp2);//乱码
    System.out.println(temp3);//乱码....才怪喵~``
  }
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有