像兔崽子说,你应该指定字符集。我仍然在Google App Engine上遇到了一些麻烦。在将charset设置为UTF-8并使用Spring的CharacterEncodingFilter
之后,没有任何东西让我困扰编码。
见How To Get Character Encoding Correct,其中包括有关该代码添加到您的web.xml文件:
<filter>
<filter-name>SetCharacterEncoding</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>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
一定要添加为你的过滤器链的第一步!
此外,博客的作者建议在JSP页面中的字符集设置为UTF-8,以及:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
你说的是使用“编码”字符串或“未编码”字符串 – 2011-03-27 04:53:55
什么字符编码你有没有在你的网页中指定? UTF-8对我来说工作正常。 – Eelke 2011-03-27 07:00:03
我真的不知道。我对GAE和编码材料相当陌生。但是我做了一个测试,试图用字符串“å”直接从我的servlet写入持久性管理器,并且运行良好。所以我想这与解码通过POST进入的字符串有关。但正如我所说,调试本地 – Joel 2011-03-27 07:33:00