当前位置: 网学 > 编程文档 > JSP > 正文

jsp中文问题解决方案

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
xception, ServletException
{
request.setCharacterEncoding(”GB2312″);
//设置输入编码格式
response.setContentType
(”text/html;charset=GB2312″);
//设置输出编码格式
PrintWriter out = response.getWriter();
//建议使用PrintWriter输出
out.println(”
”);
out.println(”Hello World!
This is created by Servlet!测试中文!”);
out.println(”
”);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
request.setCharacterEncoding(”GB2312″);
//设置输入编码格式
response.setContentType
(”text/html;charset=GB2312″);
//设置输出编码格式
String name = request.getParameter(”name”);
String id = request.getParameter(”id”);
if(name==null) name=”";
if(id==null) id=”";
PrintWriter out = response.getWriter();
//建议使用PrintWriter输出
out.println(”
”);
out.println(”你传入的中文字串是:” + name);
out.println(”
你输入的id是:” + id);
out.println(”
”);
}
public void destroy()
{
}
}


请用Javac -encoding gb2312 HelloWorld.Java来编译此程序。

测试此Servlet的程序如下所示:

<%@page contentType=”text/html;
charset=gb2312″%>
<%request.setCharacterEncoding(”GB2312″);%>




text=”#000000″ topmargin=”5″>
“POST” target=”_self”>
value=”" size=”30″>

传给Servlet



  4、Java程序和数据库之间

为避免Java程序和数据库之间数据传递出现乱码现象,我们建议采用以下最优方法来处理:

1、对于Java程序的处理方法按我们指定的方法处理。

2、把数据库默认支持的编码格式改为GBK或GB2312的。

如:在mysql中,我们可以在配置文件my.ini中加入以下语句实现:

在[mysqld]区增加:

default-character-set=gbk

并增加:

[client]
default-character-set=gbk

在SQL Server2K中,我们可以将数据库默认的语言设置为Simplified Chinese来达到目的。

5、针对JSP代码

由于JSP是在运行时,由WEB容器进行动态编译的,如果我们没有指定JSP源文件的编码格式,则JSP编译器会获得服务器操作系统的file.encoding值来对JSP文件编译的,它在移植时最容易出问题,如在中文Windows2000中可以很好运行的jsp文件拿到英文linux中就不行,尽管客户端都是一样的,那是因为容器在编译JSP文件时获取的操作系统的编码不同造成的(在中文wink中的file.encoding和在英文Linux中file.encoding是不同的,且英文Linux的file.encoding对中文不支持,所以编译出来的JSP类就会有问题)。

网络上讨论的大多数是此类问题,多是因为JSP文件移植平台时不能正确显示的问题,对于这类问题,我们了解了Java中程序编码转换的原理,解决起来就容易多了。我们建议的解决办法如下:

1、我们要保证JSP向客户端输出时是采用中文编码方式输出的,即无论如何我们首先在我们的JSP源代编中加入以下一行:

<%@page contentType=”text/html;
charset=gb2312″%>

2、为了让JSP能正确获得传入的参数,我们在JSP源文件头加入下面一句:

<%request.setCharacterEncoding(”GB2312″);
%>

  3、为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件,我们需要在JSP源文件中指定我们的JSP源文件的编码格式,具体来说,我们在JSP源文件头上加入下面的一句即可:

<%@page pageEncoding=”GB2312″%>
或<%@page pageEncoding=”GBK”%>

 这是JSP规范2.0新增加的指令。

我们建议使用此方法来解JSP文件中的中文问题,下面的代码是一个正确做法的JSP文件的测试程序:

//testchinese.jsp
<%@page pageEncoding=”GB2312″%>
<%@page contentType=”text/html;
charset=gb2312″%>
&
  • 上一篇资讯: JSP Action的使用方法
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号