首页 新闻 会员 周边

Java Web后台通过request.getParameter( )方法得到的字符串显示为乱

0
悬赏园豆:200 [已解决问题] 解决于 2013-08-14 19:48

公司的软件,前台用的是C#,通过post方法,如下

http.open("POST",p_sUrl,false,"","");
http.send(p_bStr);         

将数据发送到后台(用Java Web编写),后台通过request.getParameter( )方法获取前台传过来的相应的字符串,如果是字母的话,可以正确获取,但是,如果是中文,获取的字符串是乱码。 

注:后台在request.getParameter( )方法之前已经有了request.setCharacterEncoding("utf-8")。

PianoCoder的主页 PianoCoder | 初学一级 | 园豆:22
提问于:2013-08-13 19:56
< >
分享
最佳答案
0


可以再加个:response.setCharacterEncoding("utf-8")

 

 

jsp :contentType="text/html;charset=UTF-8"  

 

其实最好加个过滤器来处理!

 

收获园豆:150
Beyond-bit | 老鸟四级 |园豆:2885 | 2013-08-13 21:03

补充说明一下,软件采用的C#客户端 + JavaWeb后台的CS模式,前台代码:
XMLHTTP http=new XMLHTTP();
http.open("POST",p_sUrl,false,"","");
http.send(p_bStr);                

将数据封装成一条字符串,然后,通过post方法发送到后台。我现在很想知道,前台C#客户端采用的是什么编码?

PianoCoder | 园豆:22 (初学一级) | 2013-08-14 09:39

@洪庆兵: 。我现在很想知道,前台C#客户端采用的是什么编码???你不清楚?你的项目,你不清楚?

  request.getCharacterEncoding();//获取客户端请求的编码
Beyond-bit | 园豆:2885 (老鸟四级) | 2013-08-14 12:59

@Beyond-bit: 我是应届本科生,刚进公司没多久。公司做的这个基金估值软件很庞大,我现在正在熟悉这个系统,边做任务,边熟悉。谢谢您的解答!

PianoCoder | 园豆:22 (初学一级) | 2013-08-14 19:34
其他回答(1)
0

我觉得可能发生在C#客户端,客户端里应该有个HttpRequest对象吧,通过设置这个ContentEncoding属性来设置编码。设置成UTF-8 或者是其他的。java部分contentType="text/html;charset=UTF-8"  编码也设成一致的。

收获园豆:50
clcvc | 园豆:62 (初学一级) | 2013-08-14 11:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册