在Jsp/Servlet中的中文解决办法

原创 2003年08月22日 11:00:00

Jsp/Servlet中的中文解决办法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

              Java的中文问题一直很让人头痛。也许是因为有中文有很多字符集的缘故吧。

              这里我们先说Servlet的问题。

              众所周知,Servlet是需要预先编译的,就不得不谈到java的编译问题。

              Java内容是使用Unicode字符集的。所以基本上可以对大多数语言提供支持(当然,如果你会某种特殊的不常见的语言,Java就不一定支持了),所以相对来说,Java对多语言的支持相当好,甚至你可以使用中文的类名和中文的方法名,编译运行同样没有问题。但是大多数的操作系统并不是都对Unicode提供良好的支持,至少Javac默认是使用系统自带的字符集来进行编译,例如:如果你的操作系统是中文Win2k,那么你的默认字符集就是GBK;如果你使用的是日文的win2k,那么你的默认字符集就是MS932。而Javac默认是调用系统的字符集进行编译,也就是Javac中的Encoding参数默认的是使用系统的字符集。知道了这一点这个问题就容易解决了。如果你的程序中包含了不被当前系统默认字符集支持的字符,那么你需要制定你的字符集来进行编译了。不过偶尔也会有一些问题,不过这个不是java的问题了。就拿记事本来说,如果你用记事本写程序那么保存程序的时候就会使用记事本默认的Ansi字符编码方式来保存。这种情况同样也容易导致乱码的产生,所以在使用IDE的时候最好同时制定他的编码方式。

        现在说说Jsp的问题。

这个处理起来相对简单一些,只要你在页头上指定了类似%@page language="java" contentType="text/html;charset=UTF-8" %这样的语句,基本上就没有问题了。同样需要你的IDE制定一个字符编码,避免出现乱码问题。

以上简单的解决了中文乱码的问题。不过我个人觉得这并不是一个最好的解决办法,因为你还受到系统和IDE的字符集的限制,在实现跨平台的时候还是容易出现问题。我要接受我比较欣赏的一种方法,也许这种方法大家现在都已经在用了。

我推荐使用Properties文件来保存相应的文本信息,这样做有如下优点:

1.     可以很灵活的替换文本,实现多语言界面。

2.      可以根本性的避免乱码问题

第一点我不说大家也能体会得到。重点说说第二点。

JDK中自带了一个nactive2acsii的命令,这个命令是把当前字符转化成ascii字符。

当前并不是所有的操作系统都支持unicode或者其他的什么字符编码,但是据我所知对于ascii码都是支持的,所以我们只要把我们的文本转化成ascii码就可以了。而通过nactive2acsii就可以实现这个功能了。这个程序在Java_Home/Bin下面。各位可以自己试验一下。

        版权归iBeyond所有,你也许可以通过http://www.ibeyond.org得到更多信息,你也可以通过csdn@ibeyond.org和我联系。

关于Servlet中前后台交互中文乱码问题的解决

在servlet前后台交互时,我们会经常遇到中文乱码的问题,以后是我总结的解决方式: 一、交互过程中,参数乱码的解决:    1.  如果请求方式是“get”: String user...
  • BeauXie
  • BeauXie
  • 2016年08月24日 14:55
  • 3098

Servlet从上一个页面获取参数(中文乱码解决方法)

import java.io.*;import javax.servlet.ServletException;import javax.servlet.http.*;public class Thre...
  • oThomasyang
  • oThomasyang
  • 2013年10月23日 19:06
  • 4571

Java搭建servlet时doGet方法中文乱码问题

在搭建servlet时,用request获得网页传输的数据以及用response返回给网页数据时会出现中文乱码的问题。那么我们应该如何解决这个问题?乱码的原因  要想解决该问题首先要知道为什么会出现这...
  • To_be_Designer
  • To_be_Designer
  • 2015年08月11日 19:59
  • 4161

JSP中文乱码问题解决办法

  • 2012年10月31日 19:17
  • 51KB
  • 下载

JSP页面中文乱码几个解决办法

  • 2012年04月19日 14:53
  • 13KB
  • 下载

JSP与Servlet之间设置Cookie可能导致Cookie无法读取的解决办法

Cookie 是在http和https协议中,用来实现会话管理(session management),在用户终端(比如浏览器)上存储的一小段数据。一般用来存储用户的习惯(user preferenc...
  • u011628400
  • u011628400
  • 2013年08月12日 17:19
  • 1142

新建JSP无法运行出现错误The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Pat解决办法

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  • UckyK
  • UckyK
  • 2014年10月13日 23:33
  • 2684

JSP与Servlet之间设置Cookie可能导致Cookie无法读取的解决办法

在jsp中设置了Cookie,可在Servlet中无法读取出相应的Cookie,搜了好多,最终是通过参看Cookie的API文档解决的。其实解决方法很简单,只要设置一下Cookie的path就可以了。...
  • z69183787
  • z69183787
  • 2013年12月18日 15:50
  • 1233

servlet中文数据存入数据库为乱码的解决办法

今天在测试从web端存入数据到数据库,结果存入数据库的中文数据出现乱码。当然读取出来的时候也是乱码 乱码的原因是tomcat的内部编码格式iso8859-1导致。  而在每个jsp页面设置的utf-...
  • wsscy2004
  • wsscy2004
  • 2012年04月15日 21:51
  • 9932

html中form表单向Jsp提交中文乱码问题基本解决办法

一、表单提交的乱码处理   表单提交分为GET和POST两种提交方式。两种方式的乱码解决又不一样,用POST提交只需要在接受的时候加上request.setCharacterEncoding("...
  • u012292938
  • u012292938
  • 2015年10月13日 17:35
  • 5058
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Jsp/Servlet中的中文解决办法
举报原因:
原因补充:

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