当前位置: 首页 > 面试题库 >

更改HttpServletResponse的编码

云卓
2023-03-14
问题内容

我有一个返回XML的API,它实际上是使用默认编码返回的(我相信它是UTF-8),但是现在需求已经改变,我们需要以UTF-16LE返回所有内容。

我的问题是:是否有一种简单的方法?我可以在通话结束之前访问响应,所以我想知道是否可以做类似的事情

//This method does not exist
response.setCharacterEncoding("UTF-16LE");

非常感谢!

更新:提到的方法是一种使用。 我使用的是不包含它的servlet API的旧版本(2.3)。更改版本可以解决所有问题。


问题答案:

嗯,方法 确实
存在,在这里

将发送到客户端的响应的字符编码(MIME字符集)设置为例如UTF-8。如果字符编码已经由setContentType(java.lang.String)或setLocale(java.util.Locale)设置,则此方法将覆盖它。使用text
/ html的字符串调用setContentType(java.lang.String)并使用UTF-8的String调用此方法等效于使用text /
html的String调用setContentType。charset = UTF-8。



 类似资料:
  • 问题内容: 从控制台运行应用程序时,Python存在许多“无法编码”和“无法解码”的问题。但是在 IDE中,默认字符编码设置为UTF-8,我很好。 我四处寻找设置默认编码的方法,有人说在启动时会删除该函数,因此我们无法使用它。 那么什么是最好的解决方案? 问题答案: 这是一个更简单的方法(黑客),可为你提供从中删除的功能sys: 不过,这并不是一件安全的事情:这显然是一个,因为有意将其从sysPy

  • 问题内容: 有没有办法更改String(byte [])构造函数使用的编码? 在我自己的代码中,我使用String(byte [],String)指定编码,但是我使用的是无法更改的外部库。 输出为: 我尝试更改系统属性,但是它不起作用。 问题答案: 您需要在启动JVM之前更改语言环境。看到: Java,错误ID 4163515 有些地方似乎暗示您可以通过在启动JVM时设置file.encoding

  • 目前,我有一个很大的JavaScript字符串,我正试图写入一个文件,但编码方式不同(ISO-8859-1)。我希望使用类似downloadify的东西。Downloadify只接受普通JavaScript字符串或base64编码字符串。 因此,我决定使用JSZip压缩我的字符串,JSZip生成一个很好的base64编码字符串,可以传递给downloadify并下载到我的桌面。胡萨!问题是,我压缩

  • 主要内容:响应行相关的方法,响应头相关的方法,响应体相关的方法,示例,response 中文乱码问题在 Servlet API 中,定义了一个 HttpServletResponse 接口,它继承自 ServletResponse 接口。HttpServletResponse 对象专门用来封装 HTTP 响应消息,简称 response 对象。 Servlet 容器会针对每次请求创建一个 response 对象,并把它作为参数传递给 Servlet 的 service 方法。Servlet 处理

  • 问题内容: 我在将URL编码为URI时遇到问题: 这不能满足我对以下URL的期望: 传递字符串: http://m.bloomingdales.com/img?url=http%3A%2F%2Fimages.bloomingdales.com%2Fis%2Fimage%2FBLM%2Fproducts%2F3%2Foptimized%2F1140443_fpx.tif%3Fwid%3D52%26q

  • 问题内容: 我尝试这样: 但是输出到屏幕,而不是同一文件。怎么做? 问题答案: 尝试这个: 它将使用带有’.converted’后缀(扩展名)的临时文件,然后将其移动到原始名称,因此,如果您具有带有’.converted’后缀的文件,请当心(我认为您没有)。 此外,此脚本对于包含空格的文件名也不安全,因此为了更加安全,您应该双引号:“ {}”而不是“ {}”和“ {} .converted”而不是