java语言 百分网手机站

如何解决java乱码

时间:2020-11-01 13:24:03 java语言 我要投稿

如何解决java乱码

  同样的java文件,如果使用不用的工具、编译有可能出现乱码,这是为什么呢?以下是小编为大家搜索整理的如何解决java乱码,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

  GBK编码

  GBK编码是中国制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。

  UTF-8编码

  UTF-8编码可以通过屏蔽位和移位操作快速读写。字符串比较时strcmp()和wcscmp()的返回结果相同,因此使排序变得更加容易。字节FF和FE在UTF-8编码中永远不会出现,因此他们可以用来表明UTF-16或UTF-32文本(见BOM) UTF-8 是字节顺序无关的。它的字节顺序在所有系统中都是一样的,因此它实际上并不需要BOM。

  GB2312

  GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

  从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的',即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

  1、文件表头添加

  2、html head里面添加

  3、获取数据

  String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");

  out.println(str);

  String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") ;

  4、tomcat

  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

  enableLookups="false" redirectPort="8443" acceptCount="100"

  debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"

  disableUploadTimeout="true" URIEncoding=”UTF-8”/>

  5、获取数值

  request.setCharacterEncoding("gbk");