- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要在 portlet serveResource()
方法的响应中返回一些特殊的拉丁字母(例如 á
)。我尝试过以下方法:
response.setCharacterEncoding("ISO-8859-1") ;
PrintWriter out = resWrapper.getWriter();
out.println("á");
out.close();
或者
response.setContentType("text/plain; charset=ISO-8859-1");
PrintWriter out = resWrapper.getWriter();
out.println("á");
out.close();
前端 XHR 调用(对serveResource url)无法从上述任一方法中获取正确的字符。但是,如果 XHR 将请求发送到 HttpServlet(具有与上面完全相同的响应代码),则它可以正常工作。
有人可以解释一下这里的问题吗?
最佳答案
浏览器是否有可能根据包含 portlet 的页面上指定的字符集而不是您想要的字符集来解释serveResource() 调用的响应?也许您得到了正确的字符,但是当浏览器呈现它时,它会忽略您在serveResource()方法中设置的内容,并使用与页面其余部分相同的字符集显示它。
这也许可以解释为什么它与 HttpServlet 一起工作得很好,HttpServlet 负责渲染整个页面,而不仅仅是其中的一部分。因此,在这种情况下,在响应上设置字符编码就可以解决问题。
关于java - ResourceResponse.setCharacterEncoding() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302626/
我有这行代码: response.setCharacterEncoding("UTF-8"); 我收到这个错误: The method setCharacterEncoding(String) is
在servlet java类中,我输入request.setCharacterEncoding("utf-8"),然后我想看看这个方法在源代码中实际上是什么,我使用了CTRL+左键单击进入方法的源代码
我需要在 portlet serveResource() 方法的响应中返回一些特殊的拉丁字母(例如 á)。我尝试过以下方法: response.setCharacterEncoding("ISO-88
我正在尝试从请求中读取 UTF-8 信息。我使用了“request.setCharacterEncoding("UTF-8");”,但它似乎什么也没做 - 读取的信息不是 UTF-8。 我做错了什么?
只是想知道幕后是什么。实际上,我们似乎可以使用以下方式设置编码: response.setContentType("text/html; charset=UTF-8") response.setCha
在我的 java 类中,我正在尝试做类似的事情 HttpServletResponse.setCharacterEncoding("UTF-8"); 但代码无法编译并显示消息: Depend attr
使用 JBuilder2008 时,我的项目将成功构建。我换成MyEclipse,发现以下问题: request.setCharacterEncoding("UTF-8"); 在 setCharact
我是一名优秀的程序员,十分优秀!