Java REST WS的UMLAUT编码和解码
我有一个RESTWeb服务(JavaSpring),它接受HTTPGET参数。 参数可以包含一些本地数据,例如挪威或德国名称或街道:例如street=Rübenkamp 我想知道是否有一个标准协议定义RESTWebService及其客户端必须如何处理本地/特殊字符 我要找的是一般准则,例如:Java REST WS的UMLAUT编码和解码,java,spring,rest,encoding,urlencode,Java,Spring,Rest,Encoding,Urlencode,我有一个RESTWeb服务(JavaSpring),它接受HTTPGET参数。 参数可以包含一些本地数据,例如挪威或德国名称或街道:例如street=Rübenkamp 我想知道是否有一个标准协议定义RESTWebService及其客户端必须如何处理本地/特殊字符 我要找的是一般准则,例如: 客户端需要使用UTF-8/16对查询参数值进行编码 在服务器端,必须首先使用XXX(请求参数?)上可用的编码对参数值进行解码 当服务器响应时,它首先需要使用UTF-8/16对参数值进行编码,并将编码放在一些
SetCharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF8
强制编码
真的
SetCharacterEncodingFilter
/*
这必须是要执行的第一个筛选器
此外,在HTMl头中,您希望指定字符编码,这样您就不必手动进行编码或解码
此外,还需要查看POST和GET参数,这些参数通常与请求发送方的字符集设置相对应。因此,为了确保发送方不使用某些外来设置,您可以强制它以UTF-8的形式发送请求(顺便说一句,这几乎适用于所有情况): 如果您不能强制客户机使用UTF-8作为编码,那么您可能必须检查它使用的编码是否与UTF-8兼容并“翻译”它
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
request.setCharacterEncoding("UTF-8");
or
request.setContentType("text/html; charset=UTF-8")
request.getCharacterEncoding().equals("UTF-8");