📄 180.html
字号:
<STYLE type=text/css>
<!--
body,td { font-size:9pt;}
hr { color: #000000; height: 1px}
-->
</STYLE>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD><TITLE>精选文章 >> 中文问题 >> 关于JSP中文问题</title>
</head>
<body >
<p><IMG SRC="../image/jsp001_middle_logo.gif" WIDTH="180" HEIGHT="60" BORDER=0 ALT=""></p>
<table width=100% bgcolor="#cccccc" align=center cellpadding="2" cellspacing="0" border=1 bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#EFF8FF"><td>
<a href=../list_thread.php?int_attribute=2>精选文章</a>
>> <a href=../list_thread.php?forumid=26&int_attribute=2>中文问题</a>
>> 关于JSP中文问题 [<a href=../forum/showthread.php?goto=newpost&threadid=180>查看别人的评论</a>]<br>
<hr><p>由 webmaster 发布于: 2001-01-31 14:06</p><p><img src="images/icons/icon9.gif" alt="Unhappy" border=0> </p><p>在jsp中,中文乱码常会让人心乱如麻。
<br>
<br>
<br>对于
<br>中文处理的常见对策,在网上经常可见的主要是下面2种:
<br><%@ page
<br>contentType="text/html;charset=gb2312" %>
<br>
<br>
<br>或者:
<br>
<br>
<br><%
<br>String Hi="你好";
<br>byte[]
<br>tmpbyte=Hi.getBytes("ISO8859_1");
<br>Hi=new
<br>String(tmpbyte);
<br>out.print(Hi);
<br>%>
<br>
<br>虚拟小龙亭也主要采用了上面2种方法进行了修改,从而变成了1.1版。
<br>
<br>通过简单总结,示例中的中文处理发生于以下几个地方:
<br>
<br>
<br>
<br>1 在url附带中文参数,可以直接读取。
<br>
<br>
<br>例如:
<br><%= request.getParameter("showword")%>
<br>
<br>2
<br>与数据库有关的各种sql操作
<br>
<br>
<br>
<br>这里使用的Access没有发生问题。
<br>
<br>
<br>3 读取HTML
<br>form表单中递交的中文值
<br>
<br>
<br>
<br>在jswdk中需要加以编码,较为简洁的写法如:
<br>String name1=new
<br>String(request.getParameter("user_id").getBytes("ISO8859_1"));
<br>另外,在jdk1.3的支持下,不需要加入
<br><%@
<br>page contentType="text/html;charset=gb2312"
<br>%>
<br>而在jdk1.2.2下面,即使2种方法同时运用也很不稳定。
<br>
<br>而在resin平台,情况较好。只要在页面第一行加入:
<br><%@
<br>page contentType="text/html;charset=gb2312"
<br>%>即可正确处理中文。
<br>如果再加编码则反而不对。
<br>
<br>5
<br>session中包含的中文
<br>
<br>
<br>
<br>在jswdk中,奇怪的是如果从form中读出的值经过编码则可正确显示;
<br>但直接赋予中文值则不行。
<br>resin平台很好,同上。
<br>
<br>6 对于对变量赋中文值后正确显示中文。
<br>
<br>
<br>
<br>
<br>
<br>例如以下程序:
<br><%@ page contentType="text/html;charset=gb2312"
<br>%>
<br><html><head></head><body>
<br><%
<br>String
<br>Hi="你好";
<br>byte[] tmpbyte=Hi.getBytes("ISO8859_1");
<br>Hi=new
<br>String(tmpbyte);
<br>out.print(Hi);
<br>%>
<br></body></html>
<br>同样是jswdk1.0.1,以上的表示方法在jdk1.2.2中没有问题,但在jdk1.3下却无法显示。
<br>resin平台很好,同上,经过测试,只需要在<head>中补上
<br><meta
<br>http-equiv="Content-Type" content="text/html;
<br>charset=gb2312">
<br>而不需要<%@ page
<br>contentType="text/html;charset=gb2312" %>也能正确显示中文。
<br>
<br>
<br>
<br>体会:
<br>
<br>
<br>
<br>jswdk也许只能用于普通开发,稳定性和其它问题可能不如商业软件。
<br>由于jdk1.3版性能要好于jdk1.2.2很多倍,并且对中文的支持也较好,所以应该加以采用。
<br>
<br>作为免费的商业软件,resin不仅速度快,稳定,自动编译,可指出出错行,可在服务器端支持使用javascript等,而且,至少我觉得对中文的支持很好。
<br>
<br>
<br>
<br>
<br>当然,如果不必做任何处理即可正确显示中文将是我们所期待的。
<br>
<br>
<br>
<br>另外,相信在unix/linux/solaris下应该没有这样的问题。
<br>
<br></p></td>
</tr>
</table>
<p>
<CENTER><a href="../forum/newreply.php?action=newreply&threadid=180">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>0</font> 分,你认为它对你有帮助吗?
[<a href=javascript:void(0) onclick=window.open("../forum/codeVote.php?threadid=180&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("../forum/codeVote.php?threadid=180&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("../forum/codeVote.php?threadid=180&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>0</font>)
[<a href=javascript:void(0) onclick=window.open("../forum/codeVote.php?threadid=180&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>0</font>) </p>
<script language="javascript" src="../include/read_thread_script.php?threadid=180"></script>
<p><CENTER>
Copyright © 2001 - 2009 JSP001.com . All Rights Reserved <P>
<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -