ajax解决中文乱码问题

1.从客户端到服务器端:url地址后要传中文参数,怎url要编码,用encodeURI(url)方法;这里要注意encode方法要使用两次,即encodeURI(encodeURI(url));如果只使用一次,则在服务器端要再进行一次编码,代码为:canshu=new String(canshu.getBytes("iso-8859-1"),"utf-8");其中canshu为url地址后的中文参数名。
2.从服务器端到客户端:服务器端的编码格式一般用utf-8,所有传到页面也应该用utf-8解码,页面设置为:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,如果是jsp的页面,要加上:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>。如果用了框架,如struts1,ajax异步后,其实是返回一个空白页面的,而这个页面我们是看不到的,ajax只是接受其中的html内容而已,所以这个页面无法用utf-8编码,因此如果有这种情况的话,保险起见,在服务器端写如下代码:response.setContentType("text/html;charset=utf-8");同时需要注意,该段代码必须在PrintWriter out=response.getWriter()之前。

你可能感兴趣的:(Ajax,中文乱码,GET方法)