当前位置: 代码迷 >> Java Web开发 >> 接收参数时,传递的值变成了?¤ ,乱码?老有关问题了,自己做到才想重视
  详细解决方案

接收参数时,传递的值变成了?¤ ,乱码?老有关问题了,自己做到才想重视

热度:132   发布时间:2016-04-17 13:35:05.0
接收参数时,传递的值变成了??¤???? ,乱码?老问题了,自己做到才想重视。
我是用BEAN写的, "jdbc:mysql://localhost:3306/yarsye?useUnicode=true&characterEncoding=GBK ", "root ", "111 "这句在BEAN里有,
现在在参数传递时就有问题了,传递语句是: <a   href= "lamp_products.jsp?na= <%=na%> " </a>

接收语句是:String   name=request.getParameter( "na ");


------解决方案--------------------
最方便的方法,tomcat配置文件修改下

<Connector port= "8080 " protocol= "HTTP/1.1 "
maxThreads= "150 " connectionTimeout= "20000 "
redirectPort= "8443 "/>

后面加上这一个
URIEncoding= "gb2312 "
------解决方案--------------------
如果请求的参数过多,使用起来代码显得臃肿。既然你用的是Tomcat,这个问题tomcat已经实现了一个转换中文的过滤器,配置起来也相当简单。
源码如下:
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License ");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS " BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package filters;


import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.UnavailableException;


/**
* <p> Example filter that sets the character encoding to be used in parsing the
* incoming request, either unconditionally or only if the client did not
* specify a character encoding. Configuration of this filter is based on
* the following initialization parameters: </p>
* <ul>
* <li> <strong> encoding </strong> - The character encoding to be configured
* for this request, either conditionally or unconditionally based on
* the <code> ignore </code> initialization parameter. This parameter
* is required, so there is no default. </li>
* <li> <strong> ignore </strong> - If set to "true ", any character encoding
* specified by the client is ignored, and the value returned by the
* <code> selectEncoding() </code> method is set. If set to "false,
* <code> selectEncoding() </code> is called <strong> only </strong> if the
* client has not already specified an encoding. By default, this
* parameter is set to "true ". </li>
* </ul>
*
* <p> Although this filter can be used unchanged, it is also easy to
* subclass it and make the <code> selectEncoding() </code> method more
* intelligent about what encoding to choose, based on characteristics of
* the incoming request (such as the values of the <code> Accept-Language </code>
* and <code> User-Agent </code> headers, or a value stashed in the current
* user 's session. </p>
*
* @author Craig McClanahan
* @version $Revision: 1.2 $ $Date: 2004/03/18 16:40:33 $
*/

public class SetCharacterEncodingFilter implements Filter {
  相关解决方案