Java、JSP、HTML、XML编写都要符合以下编码规则

转载 2012年03月27日 16:16:35

1 所有的 .java|.jsp|.html|.xml 源文件均使用utf-8编码格式保存到系统磁盘。
如:在Eclipse中编辑文件,选中文件打开右键菜单选择属性,将文本文件编码设置为其他并选择UTF-8;也可以在
Eclipse——首选项——常规——内容类型中设置各种文件的缺省编码,这样以后所有的文本文件都使用统一编码。


2 在页面显示中文方面 .jsp文件中必须将文件编码格式pageEncoding、<@page>指令中contentType编码格式、<html>的<meta>标签编码格式都设置为utf-8。
如:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>中文问题</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
</html>
注意: META标签中的编码字符必须是"utf-8",如果不加中划线,则在ie下出现乱码情况,但ie的原文件查看却是中文!


3 把表单提交内容的字符集设为utf-8,在jsp、servlet或者filter中使用request.setCharacterEncoding("utf-8");
此行代码必须写在最前面,如果在此前进行任何request.getPragrmber()方法都会使字符转换失效!


4 页面超连接连接中带的汉字如中文目录"/系统/页面/首页.jsp",则在tomcat/conf/server.xml中的配置文件中加上:useBodyEncodingForURI="true"即可正常使用getParameter取出正确内容。如:
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" />
注:如果使用get方法提交中文参数如"?name=张三",则必须使用encode编码转换为百分号表示来传递,如:
"?name=%E5%BC%A0%E4%B8%89",注意长度不要超过连接字符串最大长度。
编码方法:[JavaScript]     encodeURIComponent("中文");
                    [Java&JSP]     java.net.URLEncoder.encode("中文");
解码方法:[JavaScript]     decodeURIComponent("%E4%B8%AD%E6%96%87");
                    [Java&JSP]     java.net.URLDecoder.decode("%E4%B8%AD%E6%96%87");


5 连接MySQL数据库时修改mysql在windows\my.ini里default-character-set=utf-8,并将mysql里数据库和表也都设为utf8_unicode_ci。


6 数据库连结url:jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8
注意,关键就在于此:此句中间是'&'不是'&amp;'这是因为数据库连结时,在.jsp和.java文件中应该用&号,而XML文件中才需要用&amp;


7 使用AJAX方式提交请求时必须为XMLHttpRequest添加头声明
注意:如果已经存在已此名称命名的http头,则覆盖之。此方法必须在open方法后调用。
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;ch
arset=UTF-8");

Tomcat乱码问题:Get方法的处理
tomcat对post和get的处理方法不一样,所以过滤器不能解决get的乱码问题,它需要在其他地方设置。
打开<tomcat_home>\conf目录下server.xml文件,找到对8080端口进行服务的Connector组件的设置部分,给这个组件添加一个属性:URIEncoding="UTF-8"。修改后的Connector设置为:
<Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
;              connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
* 注意修改后重新启动tomcat才能起作用

相关文章推荐

Eclipse所有编码格式修改位置(项目、文件、css、sql、xml、jsp、html等)

整理了一下eclipse的编码修改的位置,总有一款是你要的: 1、window-》General-》Workspace,修改此Eclipse下所有工程的默认编码 2、window-》General-...

【Javaweb】修改Eclipse for JavaEE中新建Jsp的默认编码,避免每次新建都要改编码的问题

Eclipse for JavaEE中新建Jsp的默认编码是ISO-8859-1, 这让人非常苦恼,每次新建一个Jsp都要按Ctrl+F,把所有ISO-8859-1替换成utf-8,才可以。 具体...

MyEclipse/Eclipse 修改jsp XML java HTML 每行代码长度限制

MyEclipse设置HTML: window->Preferences->MyEclipse->Files and Editors ->HTML->HTML Source,看右侧  Formatti...

JAVA_SE基础——编码规范&代码编写规则

这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码。 ...

Eclipse自动提示:java/html/jsp/js/xml文本,mybatis xml自动提示

在eclipse写java代码hml/js/xml,以及mybatis 的xml映射实现类时做到自定提示的配置过程...

JSP学习笔记(五):web.xml中的url-pattern的映射规则

url-pattern没有实际意义,一般默认为/ 一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为serv...

html 嵌套规则和编码规范

一、html标签的嵌套规则(一)HTML 标签包括 块级元素(block)、内嵌元素(inline)1、块级元素 一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:address、bloc...

在Eclipse下编写HTML/CSS/JS/JSP/Java代码时,代码自动提示的相关设置

最近在做一个javaweb的项目,在eclipse中编写jsp代码时没有代码提示确实让人很蛋疼,之前一直写Java代码或者在Dreamweaver中写HTML代码时自动提示代码用起来特别爽,这突然间没...

Java编码规则

  • 2008年01月19日 14:20
  • 355KB
  • 下载

JAVA编码规则(英文版)

  • 2007年04月05日 20:43
  • 243KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java、JSP、HTML、XML编写都要符合以下编码规则
举报原因:
原因补充:

(最多只允许输入30个字)