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");
  • 相关阅读:
    Spring Security【一】 ------ 前后端分离开发
    mybatis 使用mybatis-plus-generator进行代码自动生成
    VuejsApp简介
    BeetleX之Vue ElementUI生成工具
    BeetleX数据分析中间服务V3
    vuejs集成echarts的一些问题
    BeetleX使用bootstrap5开发SPA应用
    BeetleX大数据之产品分析服务
    小试牛刀ElasticSearch大数据聚合统计
    在windows 10的ubuntu系统上如何使用dd命令写u盘?
  • 原文地址:https://www.cnblogs.com/tanjiyuan/p/11430447.html
Copyright © 2011-2022 走看看