基本术语
-
字符集:各种字符的集合,包括汉字,英文,标点符号等等。
- 常用字符集:UTF-8【支持大量中文】、GB2312【GBK:支持少量中文】
-
编码:将字符转换为二进制数
-
解码:将二进制数转换为字符
-
乱码:一段字符的编码与解码的过程使用了不同字符集时,会出现乱码现象。
- 请求乱码:浏览器向服务器发送请求时,出现乱码
- 浏览器编码与服务器解码,不一致
- 响应乱码:服务器向浏览器做出响应时,出现乱码
- 服务器编码与浏览器解码,不一致
- 服务器默认编码与解码一致:ISO-8859-1【不支持中文】
- 浏览器默认情况
- 编码:UTF-8【】
- 解码:GBK【GB2312】
-
GET请求
- 思路:找到设置URL字符集位置
- 代码
-
POST请求
-
思路:将服务器解码设置为:UTF-8。【浏览器编码:UTF-8与服务器解码:ISO-8859-1】
-
代码
request.setCharacterEncoding("UTF-8");
-
- 思路&代码:【服务器编码:ISO-8859-1,浏览器解码:GBK】
- 设置服务器编码:GBK【支持少量中文】
response.setCharacterEncoding("GBK"); //设置服务器编码
- 设置服务器编码与浏览器解码:UTF-8【推荐使用】
//方式一
response.setHeader("Content-Type","text/html;charset=UTF-8");
//方式二【推荐使用】
response.setContentType("text/html;charset=UTF-8");