易截截图软件、单文件、免安装、纯绿色、仅160KB

Tomcat JSP Web 开发中的乱码问题小结


1. 静态页面的乱码问题
文件的编码和浏览器要显示的编码不一致。
1) 检查文件原始的编码, 可以用记事本打开, 然后选择另存为来看;
2) 给当前页面加入一个指令来建议浏览器用指定的编码来显示文件字符内容.
<meta http-equiv="content-type" content="text/html; charset=GBK">
3) 如果系统是英文XP,没装东亚字符集支持, 也会显示乱码.
2. JSP 页面的乱码问题
1) page 指令有个 pageEncoding="GBK" 这个会指定当前页面保存的编码, 如果写成
ISO8859-1 就不能保存汉字;
2) page 指令的 contentType="text/html; charset=ISO8859-1" 也会像静态页面一样让
浏览器来优先选择一种编码.
如果JSP 乱码的话,一般就显示成?,而且不管你给浏览器选什么样的编码,它都不能正
确显示
3. 表单提交的乱码问题(Tomcat 特有)
1). POST 的乱码
a. 首先浏览器提交表单的编码是根据表单所在页面来决定的, 而不是根据提交后的
JSP 页面的编码来决定的. 把所有的页面的编码都设置成一样的,例如 GBK.
b. 处理方式就是在获取参数之前设置编码:
request.setCharacterEncoding("GBK");
c. 可以用过滤器的方式来解决, Tomcat 已经带了一个现成的:
apache-tomcat-5.5.23\webapps\jsp-examples\WEB-INF\classes\filters\SetCharacter
EncodingFilter.java
web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2) GET 方式的乱码
用 setCharacterEncoding() 不能解决. TOMCAT 的一个BUG, GET 方式传送的表单参
数总是用的 ISO8859-1 编码. 我们要把它转成 GBK 方式.
String username = request.getParameter("username");
System.out.println(username);
// 转码, 先取得原始的二进制字节数组
byte[] data = username.getBytes("ISO8859-1");
// 根据新的字符集再构造新的字符串
username = new String(data, "GBK");
小结:
所有的页面(除了最后的 GET 的乱码问题)都用统一的编码(GBK 或者


相关文档:

jsp简单的验证码

1.首先在jsp页面中生成验证码图片,image.jsp
   <%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//给定范围获得随机颜色
Random random = new Random();
......

JSP诡异错误

   本地用的是tomcat6,运行一切都正常。把系统部到远程上时候报这个错误:    Syntax error on token "<", invalid AssignmentOperator
Syntax error on token "<", invalid AssignmentOperator
在网上找到原因:
这个错误可能是因为你在jsp中用到了泛型。
把泛型去掉试试就 ......

jsp中Word打印

  
jsp中Word打印
 详细文字 详细图文
在jsp中引用response.setContentType("application/msword");,打开的页面就是word样式。
1、实现word横打:
<style>
@page
 {mso-page-border-surround-header:no;
 mso-page-border-surround-footer:no;}
@page Section1
 {size:841.9pt ......

正则表达式运用到JSP页面

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="cl ......

JSP页面显示乱码

 一、JSP页面显示乱码
下面的显示页面(display.jsp)就出现乱码:
<html>
<head>
<title>JSP的中文处理</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
out.print("JSP的中文处理");
%>
< ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号