像兔崽子說,你應該指定字符集。我仍然在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