`

get方式中文乱码解决方法

阅读更多

有的时候 我们在通过后台取前台的数据的时候会出现乱码
比如 String username = request.getParameter("username");时就会出现。

解决办法:如果你想单独解决这一个,那你就用
String username = new String(request.getParameter("username").getBytes("iso-8859-1"),"GBK")

如果想统一解决永无后顾之忧(前提是尽量都采用一种方式,否则以前有用过上面的方式的回出现乱码):
如果用的服务器是jboss: 找到server\default\deploy\jbossweb-tomcat55.sar\server.xml  打开  找到
<Connector port="8080" address="${jboss.bind.address}"
         maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
         emptySessionPath="true"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true"/>
换成
<Connector port="8080" address="${jboss.bind.address}"
         maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
         emptySessionPath="true"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
ok 重新发布,重启一下jboss 搞定。

如果用的是 tomcat服务器:同上,找到 Tomcat 6.0\conf\server.xml

<Connector port="8989" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
换成
<Connector port="8989" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="GBK" />

当然这种修改服务器的方法虽然可以解决办法,但是这并不是最好的办法。如果能够用修改程序的办法来达到同样的效果的话 建议还是用修改程序的办法

 

 

 

 

 

 

 

 

<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=gb2312">

 

<%request.setCharacterEncoding("gb2312");%>

 

servlet&jsp乱码问题
SERVLET
1、页面本身有中文的时候,一个要在写PrintWriter out = resp.getWriter();之前加这句话:
   resp.setContentType("text/html;charset=GBK");
2、解决POST方式提交表单的中文乱码问题方法:
   在获得第一个参数之前加以下语句:req.setCharacterEncoding("GBK");
3、解决GET方式提交表单的中文乱码问题方法:
   修改conf目录下的server.xml 在Connector标签中(即修改8080端口的标签)中加一句话
   URIEncoding="GBK"

JSP
加入以下两段代码则可解决大部分乱码问题:
<%@ page contentType="text/html;charset=GBK"%>
<%request.setCharacterEncoding("GBK");%>

 

解决Servlet中的中文乱码问题:
1、静态中文信息乱码
response.setContentType("text/html; charset=gbk");
2、中文输入乱码
request.setCharacterEncoding("gbk");
String name =new String(request.getParamete("name").getBytes("iso-8859-1"));

servlet中输出流的默认字符编码是ISO-8859-1的

 

fileName=response.encodeURL(new String(fileName.getBytes(),"ISO8859_1"));//转码

 


运行后结果如下:


匿名 回答:2 人气:3 解决时间:2010-04-22 22:28
满意答案好评率:0% 楼上的说法是对的。。但是写的不对

String name=request.getParameter("name");

name = new String(name.getBytes("ISO-8859-1"),"UTF-8");

 
评价答案
您已经评价过!好:0 您已经评价过!不好:0 您已经评价过!原创:0 您已经评价过!非原创:0 废人 回答采纳率:36.7% 2010-04-22 21:06 满意答案好评率:0% 首先你要弄清楚  如果是用url传的话  url的传递是用编码 ISO-8859-1  而你的编码不是这个

所以你去到的值是乱码,你要去转码就可以了

比如常用的方式

 request.getParameter("name")=new String(iso.getBytes("ISO-8859-1"),"UTF-8");

 

 

 

public static String toChi(String input) {
    try {
    //byte[] bytes = input.getBytes("ISO8859-1");

    //return new String(bytes);

        //下面两行针对tomcat5。5 配置 encode为utf-8时候
        byte[] bytes = input.getBytes("UTF-8");
        return new String((new String(bytes)).getBytes("ISO-8859-1"), "gb2312");
    }catch(Exception ex) {
    }
    return null;
    }

 

分享到:
评论

相关推荐

    tomcat get提交中文乱码解决方案

    tomcat get提交中文乱码解决方案,修改tomcat server.xml 中以下为

    java解决解决get中文乱码问题

    本文将详细介绍如何在Java中解决GET请求中文乱码问题,并提供一种有效的方法。 #### 一、理解GET请求中文乱码的原因 在HTTP协议中,GET请求参数通常被附加在URL后面,浏览器会自动对这些参数进行编码,这个过程...

    get方式传参中文乱码问题的解决方案

    本文将深入探讨GET方式传参中文乱码的原因,并提供多种解决方法。 #### 原因分析 GET请求中的参数是通过URL直接传递的,当参数包含中文字符时,如果URL编码不正确或者服务器端没有正确地解码这些参数,就会出现...

    FORM表单中文乱码问题分析与解决

    解决方法:解决中文乱码问题的方法有两种,一种是使用POST方式,另一种是使用GET方式。 1、POST方式:在POST方式中,我们可以使用request.setCharacterEncoding("UTF-8")来指定解码方式为UTF-8。这将使服务器使用...

    spring3 MVC GET提交方式乱码解决

    总结,解决Spring 3 MVC中GET提交方式乱码问题,主要涉及服务器端的字符编码过滤器配置、Controller方法的参数接收以及前端页面的编码设置。理解HTTP协议和字符编码原理,以及正确配置Spring MVC,将有助于避免此类...

    解决了中文乱码的http的get和post请求demo

    1. **GET请求中的中文乱码**: 在GET请求中,参数通常被编码后附加在URL后面。Java的`URLEncoder.encode()`方法可以用来对参数进行编码,但默认使用的是ISO-8859-1编码,不支持中文。因此,我们需要明确指定为UTF-8...

    php中url地址栏传参数中文乱码解决方法汇总

    php 中 URL 地址栏传参数中文乱码解决方法汇总 PHP 中 URL 地址栏传参数中文乱码解决方法汇总是指在 PHP 编程中,如何解决 URL 地址栏传参数中文乱码的问题。这个问题是由于浏览器和服务器之间的编码问题引起的。 ...

    解决boa服务器get/post请求中文乱码问题

    本主题聚焦于"boa服务器get/post请求中文乱码问题",并提及了sqlite3数据库处理中文乱码的情况。以下将详细介绍这两个方面的知识点。 1. Boa服务器与HTTP请求中文乱码: Boa服务器是一个轻量级的Web服务器,适用于...

    Ubuntu中命令行中文乱码解决方法

    本文将详细解析Ubuntu中命令行中文乱码的原因,并提供一套有效的解决方法,帮助用户在不改变原有系统配置的基础上,实现命令行终端对中文的正常显示。 ### 原因分析 #### 字符编码冲突 Ubuntu默认使用的字符编码...

    JSP中 ajax的get请求的中文乱码问题的解决方法.pdf

    综上所述,解决JSP中Ajax GET请求的中文乱码问题需要从服务器配置、Servlet处理、JSP页面编码和Ajax请求等多个角度综合考虑,并进行相应的调整。通过这些步骤,可以有效地避免并解决中文乱码问题,保证数据传输的...

    ajax get请求中文参数乱码解决

    解决Ajax GET请求中文参数乱码的方法有以下几点: 1. 设置请求头编码:在发送Ajax请求时,可以设置`contentType`为`'application/x-www-form-urlencoded; charset=UTF-8'`,确保数据以UTF-8编码发送。 ```...

    SpringMVC解决GET请求时中文乱码的问题.rar

    总结,解决Spring MVC中GET请求中文乱码问题的关键在于确保从客户端到服务器再到客户端的整个链路中,字符编码的一致性和正确设置。通过调整配置、使用注解或自定义拦截器,可以有效地解决这个问题,确保中文数据的...

    C#的ini文件操作,解决网上未解决的Get或Set中文乱码问题

    而网上另外也有资料如何处理中文编码,例如转码为utf-8,存能解决乱码,取又出现问题。本资源我重新整理,用unicode完美解决中文乱码问题。用法: 1.声明实例 IniFile iniFile = new IniFile&#40;HttpContext....

    Ubuntu中命令行中文乱码解决方法.docx

    Ubuntu 中命令行中文乱码解决方法 在 Ubuntu 操作系统中,命令行中文乱码问题是一种常见的问题。当我们使用命令行时,中文字符可能会显示为乱码,这样会影响我们的工作效率和体验。解决这个问题的方法有很多,下面...

    页面get请求 中文参数方法乱码问题的快速解决方法

    针对GET请求中文参数乱码的问题,这里提供一种快速解决方法:使用JavaScript的`encodeURI()`函数进行两次编码。`encodeURI()`函数是JavaScript提供的用于编码URI的函数,它不会对已经编码的字符以及特殊字符如'&'、'...

    Tomcat中Get和Post出现乱码的解决办法

    Tomcat 中 Get 和 Post 方法出现的乱码问题可以通过设置编码方式或使用特殊的方法来解决。理解 Tomcat 对于 GET 和 POST 方法的编码处理方式是解决这个问题的关键。 六、相关知识点 * Tomcat 中 Get 和 Post 方法...

    java中文乱码之解决URL中文乱码问题的方法

    解决URL中文乱码的一种方法是使用JavaScript进行编码,然后在服务器端解码。有两种常见策略: - **一次转码**:使用`encodeURI()` 对URL进行编码,然后在服务器端使用适当的解码方法,如Java中的`new String(name...

    乱码问题的解决

    在本文中,我们将详细介绍乱码问题的原因、类型和解决方法。 一、编码不一致的原因 编码不一致是乱码问题的主要原因。编码不一致可能出现在多个方面: * 页面编码:jsp 默认 iso8859-1 * 服务器编码:tomcat 默认...

    get、post请求中文乱码处理方式一

    本文将详细阐述GET和POST请求中文乱码的处理方式,以帮助开发者解决这类问题。 首先,我们需要了解为什么会出现中文乱码。在HTTP请求中,数据通常是按照ASCII编码进行传输的,而中文字符通常使用UTF-8或其他多字节...

Global site tag (gtag.js) - Google Analytics