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");
  • 相关阅读:
    ASP内置对象
    VBscript脚本语言
    2018校园招聘求职记
    0.3W微功率放大器
    画一画BeagleboneBlack的PCB
    硬件类实习面试经历(已跪)
    2017会是改变人生轨迹的一年
    windows下使用vs code调试简单的C程序
    Beagleboneblack的MLO文件干了些啥
    模仿u-boot的makefile结构
  • 原文地址:https://www.cnblogs.com/tanjiyuan/p/11430447.html
Copyright © 2011-2022 走看看