一,概述

1.为什么会出现乱码问题

因为客户端(浏览器)和服务器端的编码和解码不一致. 我们web阶段都是围绕请求响应机制展开的, 客户端请求服务器,服务器给客户端做出响应 . 也就意味着客户端和服务器需要进行数据交互.这数据是在wifi或者网线里面传输的, 在传输的过程中是电脉冲信号(二进制).

img

二,请求乱码

1.GET方式

  • 出现原因分析

img

  • 乱码解决, 一编(编码)一解(解码)

img

 //获得是乱码 å¼ ä
 String name = request.getParameter("name");
 //通过iso8859-1编码,得到%E5%BC%A0%E4%B8%89
 name = URLEncoder.encode(name, "iso8859-1");
 //通过utf-8解码, 得到张三
 name = URLDecoder.decode(name, "utf-8");
 //或者上面两行写成一行
 name = new String(name.getBytes("iso8859-1"), "utf-8");

2.POST方式

  • post方式原因也是因为客户端(浏览器)和服务器端的编码和解码不一致, 但是post方式请求参数在请求体里面, 有专门的API来解决
request.setCharacterEncoding("utf-8");

三,响应乱码

  • 出现原因分析和解决

img

web阶段乱码问题的更多相关文章

  1. [技巧篇]17.那些年一直再逃避的问题,还债Web阶段!

    四海行唐的一阶段和二阶段的时候,再使用数据的时候总是使用List<Map<String,Object>>的东西,但是胖先生一直不怎么喜欢! 所以我再凌云17的Web阶段的时候, ...

  2. idea运行web项目乱码

    windows下idea中web项目乱码,主要原因是服务器端乱码(执行webservlet的时候,编码格式改变),导致客户端的编码格式与webservlet传递过的编码格式不一致. 前端网页的编码,通 ...

  3. Java/Java Web中乱码解决汇总

    在开发Java/Java Web Application过程中,往往会出现乱码问题,而且有的时候真会弄得人很烦,浪费太多的时间. 记得之前看过一篇帖子,详细解释了Encoding/Decoding过程 ...

  4. web页面乱码,JSP页面编码设置

    解决Web页面访问出现乱码bug,JSP页面首行添加: <%@ page language="java" contentType="text/html; chars ...

  5. web请求乱码问题总结

    问题1:springmvc通过@ResponseBody向页面返回值(包括汉字)时,乱码 解决方案: springmvc3.2之后可以声明注解驱动器(不知道是不是这么翻译)的时候的控制编码的转换,结果 ...

  6. java web中乱码的种类和一些解决方式

    在java web课堂测试中遇到了一些乱码问题 ,从百度上找到了许多种解决方法和乱码的种类,在这里总结一下. 一.文件出现乱码 [右击文件]->[Properties]->[Resourc ...

  7. TOMCAT WEB请求乱码

    post乱码: 原因: ​ 对于POST方式,它采用的编码是由页面来决定的即ContentType("text/html; charset=GBK").当通过点击页面的submit ...

  8. Java Web中乱码问题

    response.setContentType("text/html;charset=UTF-8"); 用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个 ...

  9. c# web页面乱码

    1.在web.config中加入:<globalization requestEncoding="GB2312" responseEncoding="GB2312& ...

随机推荐

  1. mysql 单表批量备份sh文件

    #!/bin/bashDBS=$(mysql -u root -padmin -e 'use database; show tables;' | awk '{ print $1 }');for tab ...

  2. Stream:java1.8新特性

    原 Stream:java1.8新特性 2017年08月01日 18:15:43 kekeair-zhang 阅读数:392 标签: streamjava1-8新特性 更多 个人分类: 日记 版权声明 ...

  3. Deeplearning.ai课程笔记-结构化机器学习项目

    目录 一. 正交化 二. 指标 1. 单一数字评估指标 2. 优化指标.满足指标 三. 训练集.验证集.测试集 1. 数据集划分 2. 验证集.测试集分布 3. 验证集.测试集大小 四. 比较人类表现 ...

  4. 【代码学习】PYTHON 面向对象

    一.方法重新 #!/usr/bin/python # -*- coding: UTF-8 -*- class Parent: # 定义父类 def myMethod(self): print '调用父 ...

  5. 吴裕雄 python 神经网络——TensorFlow 数据集高层操作

    import tempfile import tensorflow as tf train_files = tf.train.match_filenames_once("E:\\output ...

  6. 【原】linux两台服务器之间免密登录方法

    搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件: 方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器 方式二:192.1 ...

  7. from flyai.dataset import Dataset 报错

    from flyai.dataset import Dataset 报错 No module name 'flyai' ​ 先找到ide中使用的Python对应的pip的位置. ​ windows用户 ...

  8. mybatis源码探索笔记-3(使用代理mapper执行方法)

    前言 前面两章我们构建了SqlSessionFactory,并通过SqlSessionFactory创建了我们需要的SqlSession,并通过这个SqlSession获取了我们需要的代理mapper ...

  9. Python - 模块中的"if __name__ == '__main__':"

    1.1 如果导入的模块除了定义函数之外还中有可以执行代码,那么Python解释器在导入这个模块时就会执行这些代码. module1.py: def foo(): print('module 1') f ...

  10. 了解Web的相关知识

    一.WWW基础 WWW(world wide web, 万维网)是Internet上基于客户端/服务器体系结构的分布式多平台的超文本超媒体信息服务系统.它利用超文本(hypertext).超媒体(hy ...