随笔 - 72  文章 - 28  trackbacks - 0
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(4)

随笔分类(66)

随笔档案(72)

文章档案(19)

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜

tomcat5中,因为众所周知的原因,为了保证get/post数据都采用相同的UTF8编码,我们在server.xml中进行了如下设置:

maxSpareThreads="75" enableLookups="false" redirectPort="8443"
acceptCount="100" debug="99" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>

这里指定了get时候的数据编码。但是,当使用IIS作为webserver转发servlet/jsp请求给Tomcat时候,这个设置却失效了。其实原因很简单:IIS是通过AJP协议,把请求转发到Tomcat监听的8009端口上的,所以这里针对8080的设置自然就无效了。正确的方法是进行下面的设置:

debug="0" protocol="AJP/1.3" URIEncoding="UTF-8"/>

虽然是小问题,却花了我几个小时才想到。 

posted @ 2007-12-03 14:53 kelly 阅读(505) | 评论 (0)编辑 收藏

一、请求结果的乱码:

  • POST提交:

   

解决办法:在显示中文字符串前加上 request.setCharacterEncoding("gbk");

                 或者:在获取字符串str后使用str = new String(str.getBytes("ISO-8859-1"),"GB2312");转换

                 ISO-8859-1是默认的字符编码

  • GET提交:

   解决办法:

1、项目已打包到web服务器:

  找到 %TOMCAT_HOME%\conf\server.xml文件,将此文件的代码段末尾加              入 URIEncoding="gbk",结果如下所示:

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="gbk"/>

2、开发过程中:

找到 %project_name%\Tomcat\conf\server.xml文件,删除文件中的备注,增加URIEncoding="gbk",结果如下所示:

<Connector acceptCount="10" connectionTimeout="60000" maxThreads="75" minSpareThreads="5" port="8080" URIEncoding="gbk"/>

二、处理响应结果的乱码..

1.在servlet中 response.setContentType("text/html;charset=GB2312");

2.在jsp中 <%@page contentType="text/html;charset=GB2312"%>

3.在html中 <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=GB2312"></head>

posted @ 2007-12-03 14:40 kelly 阅读(259) | 评论 (0)编辑 收藏


 一、提交中文是使用javascript的函数:encodeURIComponent()进行编码,
例如:
String 

param=encodeURIComponet("param");
然后到服务器端使用UTF-8编码提取参数:
request.setCharacterEncoding("UTF-8");
String str = request.getParameter("param");
然后使用下面的方式进行解码:
java.net.URLDecoder.decode(str,"UTF-8")
这样就可以得到正确的参数。

posted @ 2007-09-20 12:22 kelly 阅读(1457) | 评论 (0)编辑 收藏
<%
'先下载远程图片
url="http://www.baidu.com/img/logo.gif" '远程图片地址
savepath="e:\www\www9551cn" '保存路径
'给文件重命名
randomize
ranNum=int(999*rnd)
filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
'文件重命名结束
set xmlhttp=server.createobject("Microsoft.XMLHTTP")
xmlhttp.open "get",url,false
xmlhttp.send
img = xmlhttp.ResponseBody
text=xmlhttp.ResponseText
set xmlhttp=nothing
set objAdostream=server.createobject("ADODB.Stream")
objAdostream.Open()
objAdostream.type=1
objAdostream.Write(img)
objAdostream.SaveToFile(savepath&filename&".jpg")
objAdostream.SetEOS
set objAdostream=nothing
'文件下载结束
%>
posted @ 2007-04-05 13:12 kelly 阅读(1442) | 评论 (3)编辑 收藏

在JSP的查询或者插入数据库的时候总会遇到乱码的问题,下面给出两种解决方案:
1、在页面中加上   request.setCharacterEncoding("utf-8");
2、String name=new String(request.getparameters("name").getBytes("ISO8859_1"),"utf-8")

posted @ 2007-03-19 15:37 kelly 阅读(240) | 评论 (0)编辑 收藏
仅列出标题
共15页: First 上一页 7 8 9 10 11 12 13 14 15 下一页