一. 统一所有的编码格式

(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. Android Studio下载安装

    官方下载地址:https://developer.android.google.cn/studio#downloads 因为安卓自带的模拟器会比较慢一些,这里勾选去掉,我们使用夜神模拟器. 这里根据自 ...

  2. IOS AutoLayout 代码实现约束—VFL

    在autolayout下,尽管使用IB来拖放控件,但仍然避免不了用代码来创建控件,这是约束需要代码来实现. IOS 提供了两种添加约束的方法 第一种: +(instancetype)constrain ...

  3. PHP自动发送邮件

    目录 1. PHPMailer 2. 集成ThinkPHP 2.1 类库重命名 2.2 配置SMTP服务器 2.3 使用 1. PHPMailer 在自己项目引入核心类库文件 require_once ...

  4. DLL远程注入实例

    一般情况下,每个进程都有自己的私有空间,理论上,别的进程是不允许对这个私人空间进行操作的,但是,我们可以利用一些方法进入这个空间并进行操作,将自己的代码写入正在运行的进程中,于是就有了远程注入了. 对 ...

  5. VPS 安全措施(CentOS 6)

    新到手一台VPS,要做的第一件事大概是做好安全措施. 下面针对CentOS 6随便写点,我目前做的几步是: 修改root密码 SSH-key登录 配置iptable 安装fail2ban 1.修改ro ...

  6. ubuntu下安装vmtool

    这是我遇到这个问题的解决办法-------无法通过vmware的设置安装vmtoll 1.关闭虚拟机2.编辑虚拟机,将CD/DVD选项改成自动检测(而不是之前指向的ubuntuxxx.iso)3.重启 ...

  7. HDU 5878 I Count Two Three (预处理+二分查找)

    题意:给出一个整数nnn, 找出一个大于等于nnn的最小整数mmm, 使得mmm可以表示为2a3b5c7d2^a3^b5^c7^d2​a​​3​b​​5​c​​7​d​​. 析:预处理出所有形为2a3 ...

  8. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7

    课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...

  9. JAVA基础--JAVA语言组成01

      2.   标识符 2.1.   定义: 就是用来起到 标识作用的符号: (就是程序员对自己定义的东西起的名字) 2.2.   命名规则(语法规定的,必须遵守的): 1.可以由大小写字母.数字.下划 ...

  10. nodejs实现百度实时推送

    想要加快百度收录,肯定免不了链接提交吧,当然链接提交的方式有很多种,今天来说一下百度的实时推送.. 第一次看到这post请求确实有点萌逼,我自己是做前端的对后台接触确实不多,见到的前端发送post请求 ...