Java 从request.getParameter获取marathi数据

Java 从request.getParameter获取marathi数据,java,jsp,character-encoding,getparameter,Java,Jsp,Character Encoding,Getparameter,在我的请求中Queryparameter=”आकुर्डी"。当我尝试以下操作时 String strstring = request.getParameter("Queryparameter"); 它给出了“a·a·a·a·a·a”,而我想要字符串”आकुर्डी“ 如何获取?这里的问题是什么?导致此问题的原因是您使用了与客户端用于构造请求参数不同的字符编码来解析请求参数。为了与人类世界中已知的所有字符保持最佳兼容性,您需要确保客户端和服务器都使用UTF-8所有层中的字符编码 如果它是一个G

在我的请求中
Queryparameter=”आकुर्डी"。当我尝试以下操作时

String strstring = request.getParameter("Queryparameter");
它给出了
“a·a·a·a·a·a”
,而我想要字符串
”आकुर्डी“


如何获取?这里的问题是什么?

导致此问题的原因是您使用了与客户端用于构造请求参数不同的字符编码来解析请求参数。为了与人类世界中已知的所有字符保持最佳兼容性,您需要确保客户端和服务器都使用<代码>UTF-8
所有层中的字符编码

如果它是一个
GET
请求,那么您需要配置servletcontainer/appserver将请求URI解析为
UTF-8
。您不知道使用的是哪一个,但是如果它是例如Tomcat,那么您可以通过设置to
UTF-8
属性来实现:

<Connector (...) URIEncoding="UTF-8" />

要了解更多的背景信息和其他领域的更多解决方案,您还需要考虑(例如生成响应为
UTF-8
,并指示客户使用
UTF-8
,以便保持一致),您可能会发现此博客很有用:

请提供适当的标记,以便适当的读者能够用不同的方法指导您。您的页面编码是什么?IIRC,请查看页面的元标记,您可以在其中指定编码。它是什么?utf-8?@Calm Storm:还不在JSP/Servlet中,它是ISO-8859-1。在ASP.NET中是。在PHP中是这远不容易/高效。
request.setCharacterEncoding("UTF-8");