【发布时间】:2011-02-03 12:30:09
【问题描述】:
我正在向部署在 Google Appengine 服务器上的应用程序发出请求。应用程序返回 Unicode 格式的响应。如果我通过开发服务器访问的响应,正如我所期望的那样,但是当我部署到谷歌生产应用程序引擎服务器时,这一切都是一个问号,如下所示 “标题”:“������������������������”
如果您查看 servlet 的源代码,我确保以下内容已经到位
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
请帮忙。
【问题讨论】:
-
HTTP 响应头本身包含什么? (萤火虫:Net > HTML)。浏览器说什么? (Firefox:查看 > 字符编码)
-
以下是原始响应:HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 内容编码:gzip 日期:2011 年 2 月 3 日星期四 11:59:55 GMT 服务器:Google 前端缓存控制:私有,x-gzip-ok="" Content-Length: 288
-
问题文本是直接来自 JSP 还是直接来自 java 代码,还是间接来自表单输入?如果它来自表单输入,我之前已经看到过,并且问题可能在处理库中很深 - 尝试将表单切换到多部分编码。
-
此响应直接来自 Servlet。我实际上已经在数据存储区中存储了一些数据。我正在通过 servlet 获取这些数据。
-
那么在 GWT 上传输/部署后,包含这些字符的源文件本身就会损坏,或者使用错误的编码加载/读取它们。由于我不使用 GWT,因此无法给出更具体的解决方法。
标签: google-app-engine jsp servlets