jsp/post中文乱码问题
在 iso-8859-1,gb2312, utf-8 以及任意一种编码格式下,英文编码格式都是一样的,每个字符占8位,而中文就麻烦了,在gb2312 下一个中文占 16位,两字节,而在utf-8 下一个中文要占24位,三字节。浏览器在不知道确定编码方式的情况下,就会把这些字符从中间截断,再显示的时候就乱掉了。所以,想要解决乱码问题,就是要告诉浏览器我们到底使用了什么样的编码方式。
为了获得正常显示的中文,需要注意以下几步:
1. 因为服务器要先从本地读取jsp文件,然后经过处理后写入响应,所以我们首先要知道的就是 jsp文件的编码格式。从问题的源头着手解决。
在咱们用的windowxp 下,文件默认的编码格式是gb2312。
2. 我们要在http 的响应(response)中添加编码信息,使用如下方式:
<%@ page contentType="text/html; charset=gb2312"%>
这段要放在 jsp页面的第一行,用来指定响应的类型和编码格式,contentType 为text/html就是html 内容,charset表示编码为 gb2312。这样浏览器就可以从响应中获得编码格式了。
这种<%@ %>的形式叫做jsp指令(directive),现在接触到的是page指令,还有 include和 taglib指令,我们会在后面陆续讲到。
3. 还需要在html 中指定编码格式。
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312" />
<title>title</title>
</head>
meta 部分用来指定当前html 的编码格式,注意这一段要放在head 标签中,并且放到head 标签的最前面,如果不是最前面 ie下可能会出现问题,尤其是在 title 中有中文的情况下。
完成了以上三段检验,我们才能保证输出的 jsp页面会正常显示中文。
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>title</title>
</head>
<body> <form action="test.jsp" method="post">
<label>用户名</label><label><input tyie="text" name="username"></label>
<br />
<input type="submit" value="提交">
</form> </body>
</html>
POST处理页面:
<%@ page contentType="text/html; charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
%>
<%
out.print(request.getParameter("username"));
%>
jsp/post中文乱码问题的更多相关文章
- java: jsp:param中文乱码
java: jsp:param中文乱码 假如a.jsp/b.jsp文件中 a.jsp代码: 需要加入:request.setCharacterEncoding("UTF-8") ...
- jsp页面中文乱码解决方案
一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language=&q ...
- jsp+servlet中文乱码问题
jsp+servlet中文乱码问题 servlet想要获得前台传来的值 String strName=new String(request.getParameter("name") ...
- JSP出现中文乱码问题
今天纠结了好半天,本地运行程序后没有中文乱码,唯独发到服务器后运行出现了乱码. 究其原因,皆因eclipse环境默认的JSP编码是Iso-8859-1,需要将其改为utf-8,与JSP文件中的编码声明 ...
- 如何彻底解决jsp页面中文乱码及数据库乱码
最近自己闲做一个小项目,搭建环境框架SSH+MySQL数据库,遇到一个问题:jsp页面中文显示乱码,数据库插入数据和更新数据时中文也显示乱码,后来在网上找了许多解决方法,还是折腾了两天才把问题解决,下 ...
- MyEclipse和tomcat结合编写jsp对于中文乱码的解决方法
一.Java和jsp 中文乱码原因和解决方法: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因有两方面: 第一方面:J ...
- jsp / get 中文乱码问题
POST 方式下的解决方式还算简单,因为POST 方式下提交的数据都是以二进制的方式附加在http请求的body部分发送,只需要在后台指定编码格式就足矣解决. GET 方式下会将参数直接附加到url ...
- JSP页面中文乱码问题
$.get()方法到服务器端中文乱码 在jsp页面使用encodeURI(“中文”),在服务器端进行解码 String name = req.getParameter("name" ...
- 【JSP】中文乱码问题
原作者http://www.cnblogs.com/xing901022/p/4354529.html 阅读目录 之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因. ...
- JSP网页中文乱码
在编程过程中总是由于各种原因出现中文乱码.最好的解决方法就是把代码中所有编码格式全部设置为UTF-8,这样一般能解决大部分问题,但是今天我发现另外一种情况.我们都知道当一个jsp文件中全部都是html ...
随机推荐
- django学习网站
http://www.ziqiangxuetang.com/django/django-qrcode.html
- zw版【转发·台湾nvp系列Delphi例程】HALCON ConvolImage
zw版[转发·台湾nvp系列Delphi例程]HALCON ConvolImage procedure TForm1.Button1Click(Sender: TObject);begin img.D ...
- 十图详解tensorflow数据读取机制
在学习tensorflow的过程中,有很多小伙伴反映读取数据这一块很难理解.确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料.今天这篇文章就以图片的形式,用最简单的语言,为大家详细解释一下 ...
- Eclipse 启动项目错误:class not found
其中,很可能的原因:项目存在编译错误,根本没有编译成功,没有生成class文件:可查看problems标签页查看具体错误.
- mybatis项目启动报错 The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collection*,discriminator?)".
启动项目报错 2018-02-26 17:09:51,535 ERROR [org.springframework.web.context.ContextLoader] - Context initi ...
- OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)
https://blog.csdn.net/shadow_guo/article/details/44312691 基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 1. 单目视觉三维重建问题 ...
- Github使用教程(一)------ 初识Github
上一节我们解决了Github网站响应慢,加载不完全的情况,接下来我们就要正式开始使用Github了. :好,那我先安装Git,稍后就上传项目. :......你Github网站都看懂了? :还需要看懂 ...
- JAVA第十周《网络编程》学习内容总结
JAVA第十周<网络编程>学习内容总结 学习内容总结 1.初听到网络编程四个字可能会觉得很困难,实际上网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据,把数据发送到指定的位置, ...
- 【前端】纯html+css+javascript实现楼层跳跃式的页面布局
实现效果演示: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>楼层跳跃式的页面布局</title&g ...
- Python3基础 list 推导式 生成与已知列表等长度+元素为0的列表
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...