J2EE开发中文解决方案

来源:互联网 发布:统计软件运行时间 编辑:程序博客网 时间:2024/06/09 10:20

 

为了防止J2EE开发工作中出现不必要的中文乱码问题,通常我们在系统刚开始搭建时,对整个系统中的编码进行统一规范。

 

我们以utf-8为例(以下操作必须是在中文正常显示时执行)

一、所有文件的文件原始编码统一为utf-8

文件保存时,用记事本或EditPlus等工具对文件进行另存为操作,并指定编码方式为utf-8

二、具体文件编码格式设定

   1.xml文件格式

<?xml version="1.0" encoding="UTF-8"?>

   2.jsp文件格式

<%@ page language="java" contentType="text/html;charset=utf-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   3.html文件格式

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

三、开发工具编码设定

   1.Eclipse

1.1 文件编码

在左侧的树状图中,单击相关的文件,右击 -> 属性 -> 文本文件编码 -> utf-8

或者单击打开文件,选择编辑菜单 -> 设置文件编码 -> utf-8

1.2 窗口编码

设置默认编码:窗口 -> 首选项 -> 常规 -> 编辑器 -> 文本文件编码 -> utf-8

 

1.3 文件夹编码

说明:用于此文件夹下新建的文件对编码格式进行继承

在左侧的树状图中,单击相关的文件夹,右击 -> 属性 -> 文本文件编码 -> utf-8

 

2.Dreamweaver

2.1 新建文档的默认编码

编辑 -> 首选参数 -> 新建文档 –> 默认编码 -> utf-8

2.2 页面显示中的编码

对于jsphtml文件,Dreamweaver会依据page指令或mata参数中指定的字符集进行解码。如果文件在DW中显示不正常,请修改此处的字符集,但必须是用能够正常显示的工具修改。建议用EditPlus.

 

3. EditPlus

EditPlus通常会根据文件的原始编码载入文件,如果中文显示不正常,可执行以下操作:

文档—->使用其它编码重新载入. 分别切换相应的编码,直到正常为止。然后再改用utf-8另存为。

 

四、常见问题的解决方案

1. CVS服务器同步后,进行文件比较时,本地文件中文正常,而远程文件显示乱码

原因及方案:其实此时本地文件与远程文件的编码方式是一样的,只是Eclipse在比较这两个文件时采用的不是同一种编码方式。对于Eclipse的这种处理方式,我觉得不可理解。那么,比较文件时,Eclipse到底是分别用的哪些编码呢?通过反复测试,得到以下结论:对于本地文件,Eclipse用的是本文1.1 文件编码中设定的编码;而对于远程文件,首选项中的两个地方的配置决定了Eclipse的编码处理方式,首先是内容类型 -- Java源文件,默认情况下,缺省编码为空。参见下图。

 

(在上图中,我们修改了缺省编码,为UTF-8)

当缺省编码为空时,Eclipse会读取1.2 窗口编码 中的配置。

有人会说,这还不简单,全部改成UTF-8不行了!的确,一般情况下这样配置是没有问题的。但如果是下面的这个问题,这样配置就会有问题了。

2. 文件名中含有中文的Word文档通过CVS提交不了

Word文档是Unicode编码,Windows下面的目录名和文件名也是用Unicode编码的,而UnicodeUTF-8并不完全兼容。 于是,当我们把代码统一用UTF-8的,这种含有中文的Word文档自然就通过不了。

解决方案:最简单的当然是不用中文对Word命名,如果一定要用中文,那么我们把内容类型中java源文件改为UTF-8, 而在1.2 窗口编码 中设置为GBKOK了。