JAVA 下中文乱码的测试与转换

来源:互联网 发布:电影社交网络真实么 编辑:程序博客网 时间:2024/06/05 17:57
package weaver.interfaces.workflow.action;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;//import javax.servlet.ServletException;//import javax.servlet.http.HttpServlet;//import javax.servlet.http.HttpServletRequest;//import javax.servlet.http.HttpServletResponse; public class testdemo {    public static void main(String[] args) throws UnsupportedEncodingException {        //发送 GET 请求        String s=ITGHttpRequest.sendGet("http://172.16.100.46/qy/app/25/oacallback/create/oa/313212", "");        byte[] bGBK = null;        bGBK = s.getBytes(Charset.forName("GBK"));         System.out.print(new String(bGBK,"utf-8"));       // System.out.print(s);       // System.out.println(UTF_8ToGBK(s));               // String strSource = "你想要转码的字符串";          String strGBK = "GBK";   //例如          String strUTF = "utf-8";        String strTarget = new String (s.getBytes(Charset.forName(strGBK)), strUTF);         System.out.print(strTarget);                String strChineseString = "中文";          String encoding = System.getProperty("file.encoding");          System.out.println("系统默认的字符集是:" + encoding);          System.out.println(strChineseString.getBytes(Charset.forName("GBK")).length);          System.out.println(strChineseString.getBytes(Charset.forName("UTF-8")).length);          System.out.println(strChineseString.getBytes().length);                          strChineseString = s ;        byte[] byteGBK = null;          byte[] byteUTF8 = null;          byteGBK = strChineseString.getBytes(Charset.forName("GBK"));          byteUTF8 = strChineseString.getBytes(Charset.forName("utf-8"));          System.out.println(new String(byteGBK,"GBK"));          System.out.println(new String(byteGBK,"utf-8"));          System.out.println("**************************");          System.out.println(new String(byteUTF8,"utf-8"));          System.out.println(new String(byteUTF8,"GBK"));                                  //发送 POST 请求        //String sr=ITGHttpRequest.sendPost("http://172.16.100.46/qy/app/25/oacallback/create/domain/313452", "");        //System.out.println(sr);    }                public static String UTF_8ToGBK(String str) {           try {               return new String(str.getBytes("UTF-8"), "GBK");           } catch (Exception ex) {               return null;           }       }   }


对应结果:

此资源已经激活,请不要重复操??此资源已经激活,请不要重复操??系统默认的字符集是:GBK
4
6
4
姝よ祫婧愬凡缁忔縺娲伙紝璇蜂笉瑕侀噸澶嶆搷浣?
此资源已经激活,请不要重复操??
**************************
姝よ祫婧愬凡缁忔縺娲伙紝璇蜂笉瑕侀噸澶嶆搷浣?
濮濄倛绁┃鎰嚒缂佸繑绺哄ú浼欑礉鐠囪渹绗夌憰渚?鍣告径宥嗘惙娴o拷
0 0