一. 统一所有的编码格式

(1)JSP页面设置:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

(2)设置编辑器默认的编码格式

例如,我的编辑器是myeclipse,全局编码设置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding

局部编码设置:在源码按右键-->General-->Editors-->Test Editors-->Spelling-->Encoding,这里是设置单个文件的编码。

二. 使用过滤器filter

首先自己编写一个过滤器
   1: package com.bigdata.util;

   2:  

   3: import java.io.IOException;

   4: import javax.servlet.Filter;

   5: import javax.servlet.FilterChain;

   6: import javax.servlet.FilterConfig;

   7: import javax.servlet.ServletException;

   8: import javax.servlet.ServletRequest;

   9: import javax.servlet.ServletResponse;

  10:  

  11: public class CharacterEncodingFilter implements Filter{

  12:     protected FilterConfig filterConfig = null;

  13:     protected String encoding ="";

  14:     @Override

  15:     public void destroy() {

  16:         // TODO Auto-generated method stub

  17:         filterConfig = null;

  18:         encoding = null;

  19:     }

  20:  

  21:     @Override

  22:     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,

  23:             FilterChain filterChain) throws IOException, ServletException {

  24:         // TODO Auto-generated method stub

  25:         if(encoding != null && !"".equals(encoding))

  26:             servletRequest.setCharacterEncoding(encoding);

  27:         filterChain.doFilter(servletRequest, servletResponse);

  28:     }

  29:  

  30:     @Override

  31:     public void init(FilterConfig arg0) throws ServletException {

  32:         // TODO Auto-generated method stub

  33:         this.filterConfig = arg0;

  34:         this.encoding = filterConfig.getInitParameter("encoding");

  35:     }

  36:  

  37: }

接着,在web.xml中配置过滤器
   1: <filter>

   2:     <filter-name>characterEncodingFilter</filter-name>

   3:     <filter-class>com.bigdata.util.CharacterEncodingFilter</filter-class>

   4:     <init-param>

   5:         <param-name>encoding</param-name>

   6:         <param-value>UTF-8</param-value>

   7:      </init-param>

   8:    </filter>

   9:     <filter-mapping>

  10:       <filter-name>characterEncodingFilter</filter-name>

  11:       <url-pattern>/*</url-pattern>

  12:     </filter-mapping>

三. 终极绝招

如果前两个方法试过之后,依然无法解决乱码问题,可以试试这个终极绝招

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

但是网上都不推荐这种做法,不知道是什么原因,求大神解释!

Java URL 中文乱码解决办法的更多相关文章

  1. centos java tomcat 中文乱码解决办法

    现象: cenos 部署java web 程序 ,java类中有中文 出现乱码现象 即使使用: System.getProperty("中文") 控制台都出现  ??????  乱 ...

  2. Tomcat中Url中文乱码解决办法

    引自:http://thoughtfly.iteye.com/blog/1533481 默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码. 乱码问题 原因: tom ...

  3. NetBeans中文乱码解决办法

    一.Windows下NetBeans中文乱码解决办法 找到你的Netbeans安装目录下的etc文件夹,用记事本打开netbeans.conf,找到netbeans_default_options(不 ...

  4. [Linux] - CentOS中文乱码解决办法

    CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修 ...

  5. Oracle导入中文乱码解决办法

    Oracle导入中文乱码解决办法 一.确保各个客户端字符集的编码同服务器字符集编码一致 1-       确定sqlplus字符集编码,如果是windows设置环境变量. 2-       确保Sec ...

  6. centos7.2中文乱码解决办法

    centos7.2 中文乱码解决办法 1.查看安装中文包: 查看系统是否安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN) # locale -a |grep "zh_C ...

  7. windows下git bash中文乱码解决办法

    一.解决办法1:(直接上图) 1.在git bash下,右键 出现下图,选择options: 2.选择“Text” 3.将“Character set”设置为  UTF-8 转:windows下git ...

  8. 使用httpclient post请求中文乱码解决办法

    使用httpclient post请求中文乱码解决办法   在使用httpclient发送post请求的时候,接收端中文乱码问题解决. 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码 ...

  9. .js文件中文乱码解决办法

    描述:.js文件里的中文内容在网页中显示乱码 解决办法:把JS文件的编码改为utf-8 VS2013解决步骤:文件——高级保存选项——Unicode (UTF-8带签名)  代码页 65001

随机推荐

  1. ubuntu docker的安装和使用

    Docker CE for Ubuntu Docker CE for Ubuntu is the best way to install the Docker platform on Ubuntu L ...

  2. hdu2552

    点击打开链接 思路: 1.tan(a+b) = ( tan(a) + tan(b) ) / (1 – tan(a) * tan(b) ) 2.tan( atan(x) ) = x arctan(1/s ...

  3. [Selenium] 操作新弹出窗口之验证标题和内容

    1)验证标题 package com.learningselenium.normalwebdriver; import static org.junit.Assert.*; import java.u ...

  4. C:static 关键字、静态变量、跨类访问数据

    static 在OC中的使用 参考1   参考2   参考3   参保4    参考5 跨类访问成员 参考 +号方法就是类方法(静态方法),说明不用创建对象,可以直接通过类型去直接调用这个方法,在OC ...

  5. CF 8D two friends

    独立想的好开心呀(然而是一道水题). 可以看出这道题的答案是满足单调性的,然后可以考虑二分. 对于当前二分出的mid值,我们考虑这个过程. 假设他们能共同走到shop然后共同会home $$Ans = ...

  6. 035--MySQL基本操作

    一.数据库的定义及相关名词解释  数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以 ...

  7. cardboard sdk for unity 系统分析 - 属性行为分析CardBoard类

    一.CardBoard类是个单例类,全局只有一个CardBoard对像且在需要时才生成: CardBoard中主要使用了BaseVRDevice device这个对像,而这个对像也是单例类BaseVR ...

  8. Bid和Ask

    一直很懵到底哪个是哪个,记吧,很快就又懵了.网上又坑,每一个解释清楚的.这次搞明白了记下来. 当然,这么逗比的取名法我也是醉了.直接加点东西,UserBuy,UserSell,BankBuy,Bank ...

  9. 2016 Multi-University Training Contest 1Abandoned country

    qaq,现在内心真是各种草泥马.怪自己见识短浅...哎... 题意: 给你一幅图,然后求一个最小花费使得所有的点都连通(这就是最小生成树啊),然后在这棵树上[如果我要从任意起点到任意终点,这两个点不同 ...

  10. 第二篇 .NET高级技术之密闭类和静态类及扩展方法

    1.密闭类是修饰为sealed的类, sealed不能有子类.一般只有系统中的一些基本类声明为sealed.面试题:是否可以编写一个类继承自String类? 答:不能,因为string被声明为了sea ...