热门IT资讯网

java中乱码怎么解决

发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,java中乱码怎么解决?很多人都不太了解,今天小编为了让大家更加了解java中乱码的解决办法,所以给大家总结了以下内容,一起往下看吧。java中乱码的解决办法对于Java,由于默认的编码方式是UNIC

java中乱码怎么解决?很多人都不太了解,今天小编为了让大家更加了解java中乱码的解决办法,所以给大家总结了以下内容,一起往下看吧。

java中乱码的解决办法

对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是:

String s2 = new String(s1.getBytes("ISO-8859-1"),"GBK");

1、utf8解决JSP中文乱码问题

一般说来在每个页面的开始处,加入:

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% request.setCharacterEncoding("UTF-8"); %>

◆charset=UTF-8的作用是指定JSP向客户端输出的编码方式为"UTF-8";

◆pageEncoding="UTF-8",为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;

◆request.setCharacterEncoding("UTF-8");是对请求进行了中文编码。

有时,这样仍不能解决问题,还需要这样处理一下:

String msg = request.getParameter("message");  String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");  out.println(st);

2、Tomcat 5.5中文乱码

只要把%TOMCAT安装目录%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。

2)在你的web.xml里加入如下几行:

   Set   Character   Encoding   filters.SetCharacterEncodingFilter      encoding   GBK            Set   Character   Encoding   /*   

3)完成

2、get方式的解决办法

1)打开tomcat的server.xml文件,找到区块,加入如下一行:

  URIEncoding="GBK"

完整的应如下:

2)重启tomcat,一切OK。

3、xmlHttpRequest中文问题

页面jsp用的GBK编码

代码:

<%@ page contentType="text/html; charset=GBK"%>

javascript部分

代码:

function addFracasReport() {       var url="controler?actionId=0_06_03_01&actionFlag=0010";       var urlmsg="&reportId="+fracasReport1.textReportId.value;  //故障报告表编号                  var xmlHttp=Common.createXMLHttpRequest();       xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp,        eval("turnAnalyPage"));       xmlHttp.open("POST",url,true);       xmlHttp.setRequestHeader( " Content-Type " , "        application/x-www-form-urlencoded);       xmlHttp.send(urlmsg);          }#p#

后台java中获得的reportId是乱码,不知道该怎么转,主要是不知道xmlHttp.send(urlmsg);以后是什么编码?在后面用java来转,试了几种,都没有成功,其中有:

代码:

public static String UTF_8ToGBK(String str) {           try {               return new String(str.getBytes("UTF-8"), "GBK");           } catch (Exception ex) {               return null;           }       }              public static String UTF8ToGBK(String str) {           try {               return new String(str.getBytes("UTF-16BE"), "GBK");           } catch (Exception ex) {               return null;           }       }              public static String GBK(String str) {           try {               return new String(str.getBytes("GBK"),"GBK");           } catch (Exception ex) {               return null;           }       }            public static String getStr(String str) {           try {               String temp_p = str;               String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK");               temp = sqlStrchop(temp);               return temp;           } catch (Exception e) {               return null;           }       }

以上就是java中乱码怎么解决的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎来行业资讯!

0