Jsp /js乱码问题
1.
最基本的乱码问题。
这个乱码问题是最简单的乱码问题。一般新手会出现。就是
页面编码不一致导致的乱码。
<%@ page
language="java" pageEncoding="UTF-8"%>
<%@ page
contentType="text/html;charset=iso8859-1"%>
<html>
<head>
<title>中文问题</title>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
</head>
</head>
<body>
我是个好人
</body>
</html>
三个地方的编码:
(1)
第一个地方的编码格式为jsp文件的存储格式。Eclipse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
(2)第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是
必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,“我是个好人”也会出现乱码。必须一致
才可以。
(3)第三处编码为控制浏览器的解码方式。如果前面的解码都一致并
且无误的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。
出现了乱码。
2. 表单使用Post方式提交后接收到的乱码问题
这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,
也就是说post提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp(从jsp跳转到另一个jsp)却以utf-
8的方式接受。导致乱码。既然这样的原因,下面有几种解决方式。
(1) 接
受参数时进行编码转换
String str = new
String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-
8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
(2)在请求页面上开始处,执行请求的编码代码,
request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在
转码了。直接使用String str =
request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。
注意:
这个方法也就对post提交的有效果,对于get提交和上传
相关文档:
实验报告
一. 基本思路及实验结果(记录各种运行情况或页面的运行效果);
1、使用TOMCAT服务器配置jsp应用
1)打开TOMCAT/webapps子目录,创建一web应用(如myweb),将example0.jsp与example1.jsp文件复制入内,并在该目录下设置WEB-INF目录及web.xml配置文件;
2)在浏览器地址栏输入http://localhost:8080/myweb/ex ......
搜狗双核浏览器出来之后,我就用它来调试页面,按一个按钮可以切换两种浏览器以观察网页效果,还是比较方便的,但是最近发现搜狗的JSP session貌似出现问题。还在测试中,最近一两天会写出一个比较详细的测试报告。哎,难道是我的session写的有问题?怎么在网上搜不到类似的东西... ......
我们都知道在jsp中include有两种形式,分别是
<%@ include file=” ”%>
<jsp:include page=” ” flush=”true”/>
前者是指令元素、后者是行为元素。具体它们将在何处用?如何用及它们有什么区别?这应该是很多人看 ......
tomcat 默认使用的字符集是ISO-8859-1,不支持中文字符,所以在现实中文时需要转换字符和设置字符集。
server.mxl改为<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> ,添加代码转换字符String.getBytes("ISO-8859-1"),"UTF-8 ......