方法二:
设置统一的字符编码
在API中的Javax.servlet.http包下,有一个HttpServletRequest接口中,有这样一个方法
public void setCharacterEncoding(String env)
throws UnsupportedEncoding其作用是设置统一的字符编码
<%@page contentType="text/html;charset=gbk" %>
<html>
<body>
<%
/**//*String name=request.getParmaeter("uname");//取得uname的值
byte[] b=name.getBytes("ISO8859-1");//将取得的值转换为Byte数组
name=new String(b);//将Byte数组重新转换为所需要的格式
*/
//String name=new String(request.getParameter("uname").getBytes("ISO8859-1"));//这里等同于上面
request.setCharacterEncoding("GBK");
String name=request.getParameter("uname");
%>
<h1>输入内容为:<%=name%></h1>
<%-- <h1>输入内容为:<%=request.getParameter("uname")%></h1> --%>
</body>
</html>
<html>
<body>
<%
/**//*String name=request.getParmaeter("uname");//取得uname的值
byte[] b=name.getBytes("ISO8859-1");//将取得的值转换为Byte数组
name=new String(b);//将Byte数组重新转换为所需要的格式
*/
//String name=new String(request.getParameter("uname").getBytes("ISO8859-1"));//这里等同于上面
request.setCharacterEncoding("GBK");
String name=request.getParameter("uname");
%>
<h1>输入内容为:<%=name%></h1>
<%-- <h1>输入内容为:<%=request.getParameter("uname")%></h1> --%>
</body>
</html>
更改后运行,发现结果和以前的一样。(注:GBK的范围大于GB2312 ,GB2312仅指简体中文,而GBK不仅指简体中文,还包含了繁体中文等中文。)