有关内码转换(跟HttpServletRequest有关) 在我本机下的webserver上, available()一般返回0,可是有时候返回大于0的有效值。疯了----可在另外一台unix server上,可以返回有效的值。怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在本机(PC)的WebServer上,available()有时返回0,有时返回大于0的有效的length.可是在一台unixServer上,available()总返回大于0的有效值。怎么回事呀? String str=new String(request.getParameter("tx_id").getBytes("ios8859_1"),"UTF-8");这样不行吗?!你的代码拿上来看看吧! 没太看懂,你是想把request的parameter转成中文?如果用Tomcat的话,用new String(request.getParameter("myParameter").getBytes("ISO8859_1 "), "GBK")就可以。注意Java的String都是Unicode,跟UTF-8无关。如果用InputStream,你不能依靠available(),这个不能给你长度的。要得到长度要么让客户端从http头把长度传过来,要么连续读InputStream直到读出-1为止。 这是我试验的代码,跑在unix server上,是好的,本机就不好了。 ServletInputStream sis = request.getInputStream(); int length2 = sis.available(); byte[] bb = new byte[length2]; sis.read(bb, 0, length2); String inputString = new String(bb); 这样取:ServletInputStream sis = request.getInputStream();ByteArrayOutputStream bout = new ByteArrayOutputStream();byte[] buf = new byte[1024];int len = 0;while( (len=sis.read(buf, 0, buf.length))!=-1 ){ bout.write( buf, 0, len );}String inputString = new String( bout.toByteArray() ); 我想应该用getBytes("ios8859_1"),"UTF-8"); 数据类似不同类别的数据库表设计存储问题 ssh项目本地正常传到空间上出could not execute 急~~ 紧急救助:javascript问题 为什么我用JSPSMARTUPLOAD.getRequest().getParameter("file") 取上传文件框的 值为空?急 几个简单的问题 得到java 读服务器写的数据流 请问这段代码是什么意思啊?? javabean的可视化 纯新手,帮忙看看是什么错误? 如何在Jsp页面中打印输出一颗树 用JSP做购物车 用jbuilder开发jsp的朋友进来帮给忙,是这样的:我想将表单信息提交到servlet程序处理,但我不知道怎样定位!
这样不行吗?!你的代码拿上来看看吧!
"), "GBK")就可以。注意Java的String都是Unicode,跟UTF-8无关。
如果用InputStream,你不能依靠available(),这个不能给你长度的。要得到长度要么让客户端从http头把长度传过来,要么连续读InputStream直到读出-1为止。
int length2 = sis.available();
byte[] bb = new byte[length2];
sis.read(bb, 0, length2);
String inputString = new String(bb);
ServletInputStream sis = request.getInputStream();
ByteArrayOutputStream bout = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while( (len=sis.read(buf, 0, buf.length))!=-1 )
{
bout.write( buf, 0, len );
}
String inputString = new String( bout.toByteArray() );