• 技术文章 >Java >Java基础

    java中的字符串总是出现乱码

    VV2019-11-23 11:25:32原创1370

    问题描述:

    在TOMCAT里经常出现这种情况:我们输入的字符串是汉字(默认的编码是GBK),但是TOMCAT默认的是ISO8859-1编码,于是存在了错误,导致了乱码的产生。

    解决办法:

    将从Tomcat得到的字符串再次利用ISO8859-1将其变为字节数组,然后利用GBK进行编码。

    package cn.com;
    public class Test7 {
    	public static void main(String[] args) throws Exception {
    	    System.out.println("我们输入的汉字,默认编码是gbk");
                 String str1="大家好";
                 System.out.println("str1="+str1);
                 byte [] GBKArr=str1.getBytes("gbk"); //等同于 byte [] b1=s1.getBytes();因为它默认的就是gbk编码  
           
                   System.out.println("Tomcat,默认编码是ISO8859-1编码");
                 String str2=new String(GBKArr, "iso8859-1");
                 System.out.println("str2="+str2);//导致乱码
           
                   System.out.println("把从Tomcat得到的字符串再次利用ISO8859-1将其变为字节数组,然后利用GBK进行编码");
                 byte [] ISOArr =str2.getBytes("iso8859-1");     
                 String result=new String(ISOArr,"gbk");//等同于new String(ISOArr);因为默认的就是gbk编码
                   System.out.println("result="+result);
    	}
    }

    推荐教程:java快速入门

    以上就是java中的字符串总是出现乱码的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:java 字符串 乱码
    上一篇:java中如何判断字符是否是数字 下一篇:java中计算指定日期是一年的第几天的方法
    大前端线上培训班

    相关文章推荐

    • java中数据库数据乱码解决方法• jdk与java的区别• java中判断字符串是否日期格式的方法• java中如何判断字符是否是数字

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网