公司的软件,前台用的是C#,通过post方法,如下
http.open("POST",p_sUrl,false,"","");
http.send(p_bStr);
将数据发送到后台(用Java Web编写),后台通过request.getParameter( )方法获取前台传过来的相应的字符串,如果是字母的话,可以正确获取,但是,如果是中文,获取的字符串是乱码。
注:后台在request.getParameter( )方法之前已经有了request.setCharacterEncoding("utf-8")。
可以再加个:response.setCharacterEncoding("utf-8")
jsp :contentType="text/html;charset=UTF-8"
其实最好加个过滤器来处理!
补充说明一下,软件采用的C#客户端 + JavaWeb后台的CS模式,前台代码:
XMLHTTP http=new XMLHTTP();
http.open("POST",p_sUrl,false,"","");
http.send(p_bStr);
将数据封装成一条字符串,然后,通过post方法发送到后台。我现在很想知道,前台C#客户端采用的是什么编码?
@洪庆兵: 。我现在很想知道,前台C#客户端采用的是什么编码???你不清楚?你的项目,你不清楚?
request.getCharacterEncoding();//获取客户端请求的编码
@Beyond-bit: 我是应届本科生,刚进公司没多久。公司做的这个基金估值软件很庞大,我现在正在熟悉这个系统,边做任务,边熟悉。谢谢您的解答!
我觉得可能发生在C#客户端,客户端里应该有个HttpRequest对象吧,通过设置这个ContentEncoding属性来设置编码。设置成UTF-8 或者是其他的。java部分contentType="text/html;charset=UTF-8" 编码也设成一致的。