1如果使用的tomcat服务器,在server.xml中Connector 标签后加 URIEncoding="UTF-8";

2使用web过滤器:

(1)、新建一个SetCharacterEncodingFilter.java的类:

package com.util;
import java.io.IOException;
import javax.servlet.*;

public class SetCharacterEncodingFilter 
implements Filter{
 protected String encoding = null;

protected FilterConfig filterConfig =
null;

protected boolean ignore = true;

public void destroy()
 {
   
this.encoding = null;
   
this.filterConfig = null;

}

public void doFilter(ServletRequest request,
ServletResponse response,
    
FilterChain chain) throws IOException, ServletException
 {
    if (ignore
|| (request.getCharacterEncoding() == null))
    {
    
String encoding = selectEncoding(request);
    
if (encoding != null)
     
request.setCharacterEncoding(encoding);
    }
   
chain.doFilter(request, response);
 }

public void init(FilterConfig filterConfig)
throws ServletException
 {
   
this.filterConfig = filterConfig;
    //
获取初始化参数
   
this.encoding = filterConfig.getInitParameter("encoding");
    String value
= filterConfig.getInitParameter("ignore");
    if (value ==
null)
    {
    
this.ignore = true;
    } else if
(value.equalsIgnoreCase("true"))
    {
    
this.ignore = true;
    } else if
(value.equalsIgnoreCase("yes"))
    {
    
this.ignore = true;
    } else
    
this.ignore = false;
 }

protected String selectEncoding(ServletRequest
request)
 {
    return
(this.encoding);
 }

}

(2)web.xml中在web-app里加入:

<!--定义一个过滤器, 并设定其初始化参数--><filter>

<filter-name>Set Character
Encoding</filter-name>
  
<filter-class>com.util.SetCharacterEncodingFilter</filter-class>

<init-param>
   
<param-name>encoding</param-name>

<param-value>GB2312</param-value>

</init-param>
</filter>
<!--制定过滤器映射-->
<filter-mapping>
  
<filter-name>Set Character
Encoding</filter-name>
  
<url-pattern>/*</url-pattern>

</filter-mapping>

3.<%@ page language="java" import="java.util.*,com.scce.entity.*" pageEncoding="utf-8"%>

<head>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>

4.String name=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");

new String(fileName.getBytes("UTF-8"), "GBK")

5.request.setCharacterEncoding("gbk");

response.setContentType("text/html;charset=gbk");

java中的乱码问题的更多相关文章

  1. java中避免乱码

    response.setContentType("text/html;charset=UTF-8"); 这个是在action中的 这个是在json中设置乱码的 contentTyp ...

  2. java中byte, iso-8859-1, UTF-8,乱码的根源

    Post@https://ryan-miao.github.io 背景 还是多语言, 在项目中遇到本地环境和服务端环境不一致乱码的情形.因此需要搞清楚乱码产生的过程,来分析原因. 获取多语言代码如下: ...

  3. java中几种常见字符集与乱码介绍

    1.  ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码 .读者在输入和存储文档时都要使用内码,内码分为  单字节内码 -- Single-Byte chara ...

  4. Java中url传递中文参数取值乱码的解决方法

    java中URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码,这将涉及到字符解码操作. 方法一: http://xxx.do?ptname=’我 ...

  5. java中可以出现的中文乱码的集中解决

    从学习javaweb开始就会经常遇到中文乱码,今天就做以下记录: 1. 要避免项目中遇到乱码,首先就是在搭建项目的设置工作空间的字符编码,若是多人开发,就更应该做到统一,在eclipse中选择widn ...

  6. JAVA中传递参数乱码问题

    url传递中文如果jsp页面,myeclipse.web.xml中org.springframework.web.filter.CharacterEncodingFilter,都是UTF-8编码,直接 ...

  7. java中的中文参数存到数据库乱码问题

    关于java中的中文参数乱码问题,遇见过很多,若开发工具的字符集环境和数据库的字符集环境都一样,存到数据库中还是乱码的话,可以通过以下方法解决: 用数据库客户端检查每个字段的字符集和字符集校对和这个表 ...

  8. java乱码详解(java中byte与char的转换)

    转自:http://hi.baidu.com/%C6%F3%D2%B5%BC%D2%D4%B0/blog/item/825a4858d6248e8b810a181a.html   java byte与 ...

  9. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

    转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...

随机推荐

  1. 【android studio】解决android studio drawable新建项目时只有一个drawable目录的问题

    概述 android studio默认新建Module时,只新建一个drawable目录,并不会新建适配不同分辨率的drawable目录.但其实,这是可以设置的.有以下两种方法: 方法1 详细步骤 进 ...

  2. Hadoop.2.x_无秘钥设置

    1.在实际生产环境中为Hadoop配置无秘钥登录非常有必要 # 在没有配置时: [liuwl@linux-66-64 hadoop-2.5.0]$ jps 26163 Jps [liuwl@linux ...

  3. js流程控制语句

    do...while语句 do...while语句是一种先运行,后判断的循环语句.也就是说,不管条件是否满足,至少先运行一次循环体. var box = 1;                      ...

  4. thinkphp 的create()非法数据解决办法

    是因为create()方法默认是使用post传值的,把from表单的传值方法改成post就行了,默认是get.

  5. JQ写法和js写法 方法函数化

    <script> $(function () { $('#head').click=function () { alert($(this).html()) } }) </script ...

  6. BizTalk开发系列(二十九) 宏的使用

    在BizTalk中可以使用宏集合动态的让BizTalk发送处理程序使用单独的值来替换宏.常用的使用宏的发送程序有:文件发送适配器和SMTP发送适 配器.在表达式中可以使用同时使用多个宏.例如:在文件发 ...

  7. Android课程---Android Studio简单设置

    Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...

  8. 【iCore3 双核心板_FPGA】实验二十三:使用JTAG UART终端打印信息

    实验指导书及代码包下载: http://pan.baidu.com/s/1c83OPC iCore3 购买链接: https://item.taobao.com/item.htm?id=5242294 ...

  9. 【iCore3 双核心板_ uC/OS-III】例程四:时间管理

    实验指导书及代码包下载: http://pan.baidu.com/s/1pKWKuBT iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. Git subtree和Git submodule

    git submodule允许其他的仓库指定以一个commit嵌入仓库的子目录. git subtree替代git submodule命令,合并子仓库到项目中的子目录.不用像submodule那样每次 ...