1 请求编码
1.1 直接在地址栏中给出中文
请求数据是由客户端浏览器发送服务器的,请求数据的编码是由浏览器决定的。例如在浏览器地址栏中给出:http://localhost:8080/hello/AServlet?name=传智,那么其中“传智”是什么编码的呢?不同浏览器使用不同的编码,所以这是不确定的!
IE:使用GB2312;
FireFox:使用GB2312;
Chrome:使用UTF-8;
通常没有哪个应用要求用户在浏览器地址栏中输入请求数据的,所以大家只需了解一下即可。
1.2 在页面中发出请求
通常向服务器发送请求数据都需要先请求一个页面,然后用户在页面中输入数据。页面中有超链接和表单,通过超链接和表单就可以向服务器发送数据了。
因为页面是服务器发送到客户端浏览器的。的,所以这个页面本身的编码由服务器决定。而用户在页面中输入的数据也是由页面本身的编码决定。
例如:
<!DOCTYPE html>
<html>
<head>
<title>index.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> //这就相当于给客户端发送了响应头content-type,
//指定当前页面的编码为utf-8
</head>
<body>
<form action="/hello/servlet/AServlet">
名称:<input type="text" name="name"/>
<input type="