我们正在使用多种语言,而韩语是其中之一,在我们的应用程序中,我们已经在tomcat级别设置了编码,也为编码设置了spring过滤器,但出于某种原因,当我们在我们的request.getParameter动作类中执行Struts2操作时,我们只接收到??
Tomcat编码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" maxThreads="150"
redirectPort="8443" URIEncoding="UTF-8"/>弹簧滤波器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>编辑
因此,作为"안녕하세요kkk“发送的消息被接收为”?kkk“。
我错过了什么?
致以敬意,
阿尤什
发布于 2013-03-29 11:42:15
如果标签位于属性文件中,请尝试强制utf8文件编码(检查tomcat启动脚本):
我希望这能有所帮助:)
发布于 2013-11-13 15:49:53
我们只是遇到了一个简单的问题,GET请求被曲解。
原因是同时使用URIEncoding和useBodyEncodingForURI的冲突。
显然,Tomcat (6)使用了全局默认(latin1?)而不是在处理GET请求时在URIEncoding中定义的编码(由于明显的原因,GET请求没有编码)如果useBodyEncodingForURI="true"
发布于 2013-03-26 12:39:15
你是如何发送信息的?如果它是URL的一部分,那么您必须发送一个编码的URL,如
param=%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94+kkk在服务器端获取안녕하세요 kkk。有关URL编码/解码的更多信息,请参见http://www.url-encode-decode.com/。
如果您将HTML表单中的数据发布到服务器,请确保您的页面被用作UTF-8。您可以检查这是否响应标头
Content-Type text/html;charset=UTF-8出现在您的页面中。
Spring的编码过滤器应该能在这里发挥作用。请确保,您也声明了一个过滤器映射。否则,servlet引擎将不使用筛选器:
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>https://stackoverflow.com/questions/15632403
复制相似问题