一. 统一所有的编码格式

(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. 【转载】浅谈Excel开发:一 Excel 开发概述

    博客园就是好,想要什么都给总结了,多谢 原文转载:http://www.cnblogs.com/yangecnu/p/Excel-Develpment-Introduction.html 做Offic ...

  2. [存档]获取通讯录信息并写到SD卡上

      下面是代码,不过没有字母表的顺序排列: package com.example.getcontacts; import java.io.FileWriter; import java.io.IOE ...

  3. 在线制作一键生成微信小程序实现原理之需求分析

    随着微信小程序接口不断的放开,小程序在今年或许是明年必将成为商家的一个标配,这个标配的标准就是要开发周期短,费用低,功能实用.只有这样才能让线下的广大商家快速接入.现在也有好多公司开发出了一键生成快速 ...

  4. Codechef WEASELTX

    WEASELTX code给你一棵 n 个节点的有根树(节点),以及每个节点 i 的初始权值 a[i] .一次操作则是指将每个节点的权值变为以其为根的子树中所有节点的权值之异或和.维护 q 个询问,每 ...

  5. eclipse整合tomcat

    首先确保jdk已经安装好 步骤1 获得服务器运行环境配置,Window/Preferences/Server/Runtime Environmen l步骤2 添加服务器 步骤3 选择服务器在硬盘的地址 ...

  6. k8s-调度器、预选策略及优选函数-二十

    一.简介 master上运行着三个最核心的组件,apiserver.scheduler.controller manager.此外,master还依赖于ectd存储节点,最好ectd是有冗余能力的集群 ...

  7. 玩下GourdScan

    GourdScan是一个分布式SQL漏洞扫描器,采用Python+PHP开发,后端采用SQLMAP.通过浏览器代理方式获取请求进行漏洞检测. win10 准备: phpstudy python2.7 ...

  8. 安装GitLab出现ruby_block[supervise_redis_sleep] action run

    在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一 ...

  9. 51nod 1344 【前缀和】

    思路:求一下最小负数的前缀和 #include<cstdio> #include <map> #include<iostream> #include<stri ...

  10. 【Codeforces自我陶醉水题篇~】(差17C code....)

    Codeforces17A 题意: 有一种素数会等于两个相邻的素数相加 如果在2~n的范围内有至少k个这样的素数,就YES,否则就NO; 思路: 采用直接打表,后面判断一下就好了.那个预处理素数表还是 ...