Google应用引擎数据存储区字符串编码问题

您好我正在使用Google App Engine进行我正在进行的项目,我需要存储一些字符串。 我正在使用Java和JDOHelper.getPersistenceManagerFactory("transactions-optional")

在我的计算机上进行调试时,一切正常,字符串正确保存。 但是当我将它上传到谷歌应用程序引擎时,我保存的所有字符串都会将其unicode字符替换为问号(?)。 如果我转到项目页面上的DataViewer,我可以看到字符串实际上是用问号保存的。

就像我说的,当在我的电脑上运行时,它运行正常。 有谁知道我应该怎么做?

听起来您没有为HTTP POST内容指定编码。 有关详细信息,请查看此问题 。

就像Jackrabbit所说,你应该指定charset。 我仍然在Google App Engine上遇到了一些麻烦。 在将字符集设置为UTF-8并使用Spring的CharacterEncodingFilter没有什么比编码方式困扰我了。

请参见如何获取字符编码更正 ,其中包含有关要添加到web.xml文件的此代码的信息:

  SetCharacterEncoding org.springframework.web.filter.CharacterEncodingFilter  encoding UTF-8   forceEncoding true    SetCharacterEncoding /*  

请务必将此添加为filter链中的第一步!

此外,该博客的作者建议将JSP页面中的字符集设置为utf-8:

 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>