jsp传递中文参数乱码问题
在浏览器地址栏调试“draw_pie.jsp?arg=7 ¦百度,Google”
程序运行结果,中文会显示成??请问如何解决这个问题 ,输出第一个参数控制台是乱码,第二个控制台是中文,但是前台网页显示的还是乱吗,这是怎么回师???
draw_pie.jsp内容如下()
<?xml version="1.0" encoding="UTF-8" ?>
<%String arg=request.getParameter("arg");
System.out.println(arg);
String argNew = new String(arg.getBytes("ISO-8859-1"),"gbk");
System.out.println(argNew);
%>
<drawpie bgcolor="0xFFFFFF" bgimg="none">
<pie>
<!-- 数值 -->
<pie_num> <%=pie_name%> </pie_num>
</pie>
</drawpie>
------解决方案--------------------加上这个试试
<%response.setHeader("Charset","GBK");%>
------解决方案--------------------<%response.setCharacterEncoding("GBK");%>
------解决方案--------------------<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<% response.setContentType("text/html;charset=UTF-8"); %>
<% response.setCharacterEncoding("UTF-8"); %>
让JSP编译器能正确地解码我们的含有中文字符的JSP文件
<%@ page pageEncoding="UTF-8"%>
JSP向客户端输出
<%@ page contentType="text/html;charset=UTF-8" %>
让JSP能正确获得传入的参数
<% request.setCharacterEncoding("UTF-8"); %>
浏览器默认使用 UTF-8 的编码方式发送请求
1、Eclipse
2、MyEclipse
3、JSP(浏览器端乱码)
<%@ page contentType="text/html;charset=UTF-8" %>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
4、GET方式、超连接访问
String language = request.getParameter("language");
language = new String(language.getBytes("ISO-8859-1"),"UTF-8");
5、Servlet
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
6、Ajax
response.setContentType("text/xml;charset=UTF-8");
全部UTF-8,什么乱码都不会再出现了