zoukankan      html  css  js  c++  java
  • Java-String-数据乱码

        /**
         * 前后端数据乱码问题
         * 解决办法1:
         * 乱码原因:一编一解码型不一致导致。
         * [main description]
         * @param  {[type]} String[] args          [description]
         * @return {[type]}          [description]
         */
        public static void main(String[] args) {
            String name = "您好,中国!";                            
            String striso8859,strgb2312,strgbk,strutf16,strutf8 = "";
            byte[] iso8859,gb2312,gbk,utf16,utf8;
            try {
                /** 
                 * String.getBytes("");
                 *     String:当前乱码的数据字符串。
                 *  String.getBytes(String str):将乱码的数据字符串转换为byte数组。
                 *  String.getBytes(String str)中的参数str是当前编码类型。(这个类型是当前乱码的类型)
                 */
                iso8859 = name.getBytes("ISO-8859-1");      
                gb2312 = name.getBytes("GB2312");           
                gbk = name.getBytes("GBK");                 
                utf16 = name.getBytes("UTF-16");            
                utf8 = name.getBytes("UTF-8");
                
                /**
                 * String(Byte [] byte,String str)
                 * String提供将不同编码格式的byte数组转化为字符串数据的构造函数,其中:
                 * byte是转换后的乱码byte数组,String类型的str则是声明即将要转换成为编码格式。
                 */
                striso8859 = new String(iso8859,"UTF-8");
                strgb2312 = new String(gb2312,"UTF-8");
                strgbk = new String(gbk,"UTF-8");
                strutf16 = new String(utf16,"UTF-8");
                strutf8 = new String(utf8,"UTF-8");
                System.out.println(striso8859);
                System.out.println(strgb2312);
                System.out.println(strgbk);
                System.out.println(strutf16);
                System.out.println(strutf8);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }              
        }
        
     /**
         * 前后端数据乱码问题
         * 解决办法2:
         * 乱码原因:一编一解码型不一致导致。
         */
    
    HttpServletRequest.setCharacterEncoding("utf-8");
    HttpServletResponse.setCharacterEncoding("utf-8");
  • 相关阅读:
    USB无线网卡导致耳机电流声很大
    知乎广告太多怎么办?
    网络机顶盒固件提取、编辑和打包
    GOOGLE机器学习速成班
    windows xp版本的chrome浏览器去哪里下载呢?
    [转载]HTTP无状态是什么意思?
    [转载]HTTP的无状态是什么意思?
    安卓手机网页打开淘宝总是弹出应用市场
    PLSQL Developer 客户端工具的安装
    VMware虚拟网卡设置问题
  • 原文地址:https://www.cnblogs.com/tanjiyuan/p/11430447.html
Copyright © 2011-2022 走看看