浏览 6482 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-06
今天用Ajax做一个小功能发现传递数据的时候如果有中文的话用javascript接收的时候会有乱码问题。经过一上午的时间查找资料发现可以用以下方法解决。 1.在servlet里面设置 response.setContentType("text/html; charset=UTF-8"); 2.在jsp里面设置 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 经过这两上设置以后就可以正确显示中文了。 希望能节约大家时间。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-09
AJAX传递数据就是以UTF-8编码传递的 有时候你那样还解决不了
我就遇到过。 在过滤器设置编码对AJAX请求与响应的貌似不管用 在服务器端(如:Servlet)加上 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); 再不行的话 分析一下到底是在那个环节出现的乱码,再对相应的乱码进行转换,再不行就别传中文,用英文!或者进行加密,传加密之后的字符串 |
|
返回顶楼 | |
发表时间:2010-09-13
直接写一个过滤器处理乱码的类,然后在web.xml里配置一下;
1.CharacterEncodingFilter.java package com.zuxia.qlzx_shopping.util; 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; /** * * CharacterEncodingFilter概要说明 * 过滤器处理乱码的类 * @author ycglei886 * 创建时间:2010/5/20 * @version 1.0 * */ public class CharacterEncodingFilter implements Filter { private FilterConfig config; private String encoding = "ISO8859_1"; public void destroy() { System.out.println(config); config = null; } /** * * (重写方法) * doFilter方法概述 * 处理过滤器 * * @param request * @param response * @param chain * @throws IOException * @throws ServletException */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding(encoding); chain.doFilter(request, response); } public void init(FilterConfig config) throws ServletException { this.config = config; String s = config.getInitParameter("encoding"); if (s != null) { encoding = s; } } } web.xml里配置如下: <filter> <filter-name>EncodingFilter</filter-name> <filter-class>com.zuxia.qlzx_shopping.util.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodingFilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 这样轻松解决问题,如果下次要用就直接拿出来用,没必要要每次都在Servlet里 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); 来出来乱码。很麻烦的 |
|
返回顶楼 | |
发表时间:2010-09-14
我也遇到过,我是用encodeURI()将中文编码下就好了.
|
|
返回顶楼 | |