JavaWeb--中文乱码小结 JavaWeb--中文乱码小结
0.纯粹html乱码:
换个editor吧(有时候notepad都比sublime_text好用),最好是在<head></head>之间添加<meta charset="utf-8">

1.jsp到jsp之间,表单
(假设包含表单的页面为a,提交的action为b)
get:不乱码
post:乱码(在b页面用<%request.setCharacterEncoding("utf-8");%>)
超链接形式的跳转,如果带有参数,本质上还是get方法,所以不会乱码

2.jsp到jsp之间,转发,转发参数乱码(<jsp:forward>+<jsp:param>)
需要在转发标签<jsp:forward>之前添加<%request.setCharacterEncoding("utf-8");%>

3.servlet页面out对象输出中文,乱码
在相应的方法中添加response.setContentType("text/hmtl;charset=UTF-8");

4.jsp提交表单到servlet,servlet获取表单变量乱码
若表单是post方法:在servlet相应方法中添加request.setCharacterEncoding("UTF-8");
若表单是get方法:在servlet相应方法中添加request.setCharacterEncoding("UTF-8");,
或者用getBytes转码并构造新的String,例如;
String username = request.getParameter("username");
String name = new String(username.getBytes("ISO-8859-1"), "UTF-8");

总结一下:
对于post方法提交的表单,获取表单数据的页面都要用request.setCharacterEncoding("UTF-8");
对于get方式提交的表单,获取表单数据的页面既可以用request.setCharacterEncoding("UTF-8")
也可以用getBytes()的方法构造新的String;对于使用<jsp:param>传递参数的情况,需要在传递参
数前设定request.setCharacterEncoding("UTF-8");

web 乱码摘抄的更多相关文章

  1. MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题

    1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...

  2. Java Web乱码原因与解决

    Java Web乱码原因与解决 一.了解编码常识: 1.ASCII 码 众所周知,这是最简单的编码.它总共可以表示128个字符,0~31是控制字符如换行.回车.删 除等,32~126是打印字符,可以通 ...

  3. [转]Java Web乱码过滤器

    本文转自http://blog.csdn.net/l271640625/article/details/6388690 大家都知道,在jsp里乱码是最让人讨厌的东西,有些乱码出来的莫名其妙,给开发带来 ...

  4. web乱码问题

    String data = "不见青山"; ServletOutputStream sos = response.getOutputStream(); byte b[] = dat ...

  5. web乱码解决了

    web容易乱码,最近有乱码了,透死了! 搞了半天,终于好了: String comment = new String(request.getParameter("comment") ...

  6. 中文乱码总结之web乱码情景

    情景1.当servlet返回js脚本时弹出框显示中文乱码: 解决:在servlet中加上response.setContentType(“text/html;charset=utf-8”); 情景2. ...

  7. Java WEB 乱码解决大全

    来自 http://ligure.iteye.com/blog/ 中文乱码:在以后学习过程中全部采用UTF-8 1.文件的乱码 1.1.项目文本文件默认编码:        [右击项目]->[P ...

  8. Java Web乱码分析及解决方案

    1.  什么是URL编码. URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value,将他们以name/value编码方式作为URL的一部分或者分离的发送到服 ...

  9. Java Web乱码分析及解决方式(一)——GET请求乱码

    引言:     在进行Web開始时.乱码是我们最常常遇到也是最主要的问题.有经验的程序员非常easy能解决,刚開始学习的人则easy被泥潭困住. 并且非常多时候.我们即使攻克了乱码问题也是不明就里.往 ...

随机推荐

  1. input type="number"

    情景: 移动端 input控件,调数字键盘,在输入小数点时光标会自动跳到小数点前面.安卓6.0.1的版本会这样. question: 1.调原生数字键盘的方法,必须用 type="numbe ...

  2. 【Java】需要注意的小细节

    一.==和equals 1.比较两个变量时 a.==可以判断两个变量是否相等,如果两个变量是基本类型变量,而且是数值类型,只要两个变量值相等,返回true. 2.比较两个引用变量 a.==只有两个引用 ...

  3. jquery ajax 方法及各参数详解

    1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type ...

  4. MyBatis缓存禁用失败

    问题:MyBatis缓存无法禁用,同一个session的select查询结果一样,但是数据库其实已改变. 尝试达到想要的目的: 1.msgmapper.xml里的select标签加上 <sele ...

  5. swift_初始化器的使用

    //: Playground - noun: a place where people can play import Cocoa ***************************结构体与Cla ...

  6. python——线程与多线程基础

    我们之前已经初步了解了进程.线程与协程的概念,现在就来看看python的线程.下面说的都是一个进程里的故事了,暂时忘记进程和协程,先来看一个进程中的线程和多线程.这篇博客将要讲一些单线程与多线程的基础 ...

  7. Asp.net项目路径获取方法【转】

    获取项目完整的绝对路径string path = System.AppDomain.CurrentDomain.BaseDirectory.ToString();string path = Serve ...

  8. SQL 子查询,连接查询复习

    use lianxi0720 go --创建部门表 create table bumen ( bcode int primary key,--部门编号 bname ), --部门名称 bceo ), ...

  9. 使用curl传递cookie错误的问题

    工作中发现一个问题, 通过curl调用接口传递cookie操作用户的数据, 接口的程序解析不了cookie中的数据. 经过排查发现curl发送的cookie数据为 TZ+Gn+rEk+6G4d 而接口 ...

  10. 在为ListView设置adapter时出错

    为listView设置adapter,代码如下: SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.m ...