我在 Google App Engine 上运行 GWT 应用程序,它通过 GWT-RPC/Servlet 将文本输入从 GUI 传递到 API。但是像 ä,ö,ü 这样的变音符号会被 API 误解,API 只显示一个 ?而不是变音符号。
我很确定问题出在 Google App Engine 上的默认字符编码,即 US-ASCII:US-ASCII 不知道任何变音符号。
在我的本地机器上使用来自 JUnit-Tests 的 API 的元音变音是可行的。默认的字符编码是 UTF-8。
问题不是来自 GWT 或任何 HTML 文件的编码;我在应用程序中使用了一个包含一些变音符号的常量 Java 字符串并将其传递给 API:如果应用程序部署在 Google App Engine 中,就会出现问题。
有什么方法可以更改 Google App Engine 中的字符编码吗?或者有人知道我的问题的另一种解决方案吗?
将来自 GUI 的变音符号存储在 GAE 数据存储中并将它们带回 GUI 的工作非常有趣。
最佳答案
我遇到了同样的问题:部署到 Google App Engine 的网络应用程序的默认字符集设置为 US-ASCII
,但我需要它是 UTF-8
.
经过一番摸索,我发现添加:
<system-properties>
<property name="appengine.file.encoding" value="UTF-8" />
</system-properties>
appengine-web.xml
正确地将字符集设置为 UTF-8
。更多详细信息,请访问 Google Issue Tracker - Setting of default encoding .
关于Google App Engine 上的 Java 字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30102745/