Google App Engine 上的 Java 字符编码

标签 java google-app-engine gwt character-encoding

我在 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/

相关文章:

java - 将字符串解析为整数

java - ListView项目背景颜色更新

python - AppEngine - 何时使用父关系?

sockets - App Engine 开发服务器 - 套接字协议(protocol)类型错误

eclipse - GWT设计器不适用于Maven-GWT项目

java - 虽然无限(限制)循环无法正常工作

java - 使用 JSTL 向当前 URL 添加新参数

python - Google App Engine 上 Python 中的 Unicode

html - 如何在 GWT 中将我的 HTML 转换为 SafeHtml

java - ServletContext 是 Servlet 之间共享资源的首选方式吗?