Tomcat+Jsp环境下的中文问题_JSP编程

摘要:关于Java应用在处理中文时所存在问题的讨论已经相当多了,与大部分的讨论不同,本文将从汉字字符的输入和输出的角度来讨论Java语言处理中文时所存在的问题。
尽管关于Java在处理中文字符时所存在的问题的讨论已不乏其数,但由于Java技术涉及内容广(J2EE包含了十几种相关技术),技术供应商繁多,面向Java的Web服务器、应用服务器以及JDBC数据库驱动等都没有官方的标准,所以Java应用在处理中文时出了存在固有的问题外也会随着选用的服务器、驱动程序的不同产生一些与平台相关的问题。也就是说,在处理中文问题时,Java代码的可移植性打了折扣。
总的看来,Java的中文处理问题较为集中地出现在JSP技术应用和Java的数据库访问过程中。这是因为无论是JSP应用还是基于JDBC的数据库访问都涉及到了Java程序与另外一种应用系统的交互,这种交互不可避免的要求系统之间进行数据的交互和参数的传递,而Java处理中文出现问题的地方往往就是这些数据读入和输出的地方。
JSP程序所应该注意的中文问题
以Tomcat 3.2.1的JSP应用为例,一般遇到中文问题可以使用如下的编码强制转换函数进行内码的转换。
public static String toChinese(String strvalue)
{
try{
if(strvalue==null)
return null;
else
{
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK");
return strvalue;
}
}catch(Exception e){
return null;
}

注意,在使用该函数前,我们需要分析中文无法正确输出的原因到底是什么,而不能将所有的中文处理的问题都用这个方法来解决。例如,如果是由于忘记将JSP的输出代码定义为GB2312或GBK而产生的中文无法正确输出就不能用这个函数来解决。一个好的习惯是在我们编写每一个JSP页面时都在文件的第一行定义程序所要输出的字符集,如
<%@ page contentType="text/html; charset=GBK" %>或
<%@ page contentType="text/html; charset=GB2312" %>
对于一些不支持定义输出的字符集的JSP版本,我们也可以作如下的设置:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
另外还需要注意的是,这个函数是用来解决那些确实出现了无法正确输出中文的代码,而不是一个通用的用来保证中文字符正确输出的函数。由于中文字符无法正确的输出或读入的原因都是因为这个字符的编码和系统缺省的字符集编码(或者是应用所要输出的字符集,二者一般情况下是相同的)的不同引起的,所以在应用该函数前我们必须确定我们所要读入或输出的字符的编码到底与系统缺省的字符集编码是否相同。

时间: 2024-09-15 06:24:10

Tomcat+Jsp环境下的中文问题_JSP编程的相关文章

Tomcat+Jsp环境下的中文问题

js|问题|中文 摘要:关于Java应用在处理中文时所存在问题的讨论已经相当多了,与大部分的讨论不同,本文将从汉字字符的输入和输出的角度来讨论Java语言处理中文时所存在的问题. 尽管关于Java在处理中文字符时所存在的问题的讨论已不乏其数,但由于Java技术涉及内容广(J2EE包含了十几种相关技术),技术供应商繁多,面向Java的Web服务器.应用服务器以及JDBC数据库驱动等都没有官方的标准,所以Java应用在处理中文时出了存在固有的问题外也会随着选用的服务器.驱动程序的不同产生一些与平台相

Apache+Servlet+Jsp环境设置(上)_JSP编程

本文只讨论如何在Windows NT 4.0上安装Apache+Servlet+Jsp.本文中的配置情况如下: Windows NT 4.0 jdk1_2_2-001-win.exe apache_1_3_12_win32.exe ApacheModuleJServ.dll tomcat.zip(3.0) 一. 软件下载 JDK http://java.sun.com/products/jdk/1.2/ Apache Server http://www.apache.org/dist/binar

在JSP环境下JavaBean的应用

JavaBean 是一种基于 Java 的软件组件.JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性. JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等.如果我们有三个 JavaBean ,它们分别具有显示新闻.股票价格.天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个 Bean ,使用

win2000下jsp平台搭建的简单过程_JSP编程

  现在我将jsp平台搭建的过程.   我采用的是windows2000 professional+JDK+TOMCAT   JSP平台的搭建:    1.JDK下载和安装:  第一步:进入SUN公司JAVA的JDK 1.4版本免费安装程序,下载主页地址:    http://java.sun.com/j2se/1.4/download.html    单击download,进入下载协议,选择接受协议.  第二步:JDK安装程序:我安装的是:   j2sdk-1_3_1_07-windows-i

JSP/Servlet 中的汉字编码问题_JSP编程

JSP/Servlet 中的汉字编码问题 网上就 JSP/Servlet 中 DBCS 字符编码问题有许多优秀的文章和讨论,本文对它们作一些整理,并结合 IBM WebSphere Application Server 3.5(WAS)的解决方法作一些说明,希望它不是多余的.内容: 问题的起源 ??????-80,GBK,GB18030-2000 汉字字符集及 Encoding 中文转码时'?'.乱码的由来 JSP/Servlet 汉字编码问题及在 WAS 中的解决办法 结束语 参考文章 1.

JSP 自定义标签之一 简单实例_JSP编程

在JSP中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的. 通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示.下面我们来实现一个非常简单的自定义标签,期望通过这个简单的实例引领各位进入自定义标签的领域.我们准备定义的这个自定义标签所实现的功能是在JSP页面中显示出版权信息,并且在以后的博文中,我们还会对它进行升级改造. 首先,打开编辑器,创建以下Java代码: 复制代码 代码如下: package com.yanzhi

Tomcat网站发布配置方案详细说明_JSP编程

修改端口.修改默认发布目录.多域名绑定 一.修改发布端口号为80(Tomcat默认为8080)      打开配置文件(我的如下:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到: 复制代码 代码如下: <Connector port="8080" protocol="HTTP/1.1"                maxThreads="150" connectionTimeout="2

JSP生成jpeg图片用于投票_JSP编程

一.前言   本文原作者为Tony Wang ,该文章涉及到文件的读写和jpg图片的自动生成.利用jsp+servlet的技术,jsp调用servlet生成图片.  二.首文件index.jsp如下: <%--  Author: Tony Wang  E-mail: lucky_tony@163.net  Date: 2001-01-01  如果对程序有什么疑问,可以和我联系, 另外程序如果有什么bug,麻烦指出!! --%><%@ page contentType="text

Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)_JSP编程

目的: 整合Apache和Tomcat,使得Java工程和PHP工程都能共用80端口,访问网站时,无需在地址栏中加端口号. 环境说明: Linux CentOS 32位 Apache 2.2.2 Tomcat 7.0.37 准备工作: 下载mod_jk.so http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 打开链接找到合适的文件下载,下载后改名为mod_jk.so 修改Apache相关文件 1.将mod_j