我有一个网页,我根据文本框中给出的文本进行搜索。本文可以使用任何语言,如日语,中文等(或任何mbcs字符)。当在java中使用request.getParameter()时字符被损坏
现在,当我以日语(或任何其他mbcs字符)输入文本时,结果会填充屏幕(表格)并带有一些粗糙的字符。
例如:testテスト
将变成testãã¹ã
。
当我看到在Firebug(调试工具)后的参数,我可以看到的是,搜索字符串都按testテスト
然而,当我把调试语句在我的代码,我可以看到request.getParameter("searchString")
不能识别的日本文字和把他们变成一些奇怪的字符。
我的JSP页面头部已经有<%@ page contentType="text/html; charset=UTF-8"
我也试图把这个pageEncoding="UTF-8"
,但它并没有帮助。
我也尝试设置字符编码像request.setCharacterEncoding("UTF-8")
也就在做request.getParameter
之前,但也没有为我工作。
在经历了几个论坛和博客之后,我还尝试在tomcat config的<Connector>
中设置useBodyEncodingForURI=true
,但那也没有帮助我。
有人可以建议我解决这个问题吗?
“当我把调试语句在我的代码” - 这意味着什么?什么样的调试? '的System.out.println()'?哪个操作系统? – skaffman 2012-03-19 10:05:43
如果我没有错,你可能需要将它转换为ascii。 – 2012-03-19 10:11:58
嘿Skaffman..by调试语句我的意思是我的代码中的一些记录器,而不是SOP声明 – user1278265 2012-03-20 07:42:01