Pab*_*dez 18 java encoding servlets character-encoding
我有一个返回XML的API,它实际上使用默认编码返回它(我相信它是UTF-8),但现在需求已经改变,我们需要返回UTF-16LE中的所有内容.
我的问题是:有一种简单的方法吗?我可以在呼叫完成之前访问响应,所以我想知道我是否可以做类似的事情
//This method does not exist
response.setCharacterEncoding("UTF-16LE");
Run Code Online (Sandbox Code Playgroud)
非常感谢!
更新:提到的方法是使用的方法.我使用的是不包含它的servlet API的旧版本(2.3).更改版本修复了所有问题.
ska*_*man 20
呃,该方法确实存在,在这里
设置发送到客户端的响应的字符编码(MIME字符集),例如,设置为UTF-8.如果字符编码已由setContentType(java.lang.String)或setLocale(java.util.Locale)设置,则此方法将覆盖它.使用string of text/html调用setContentType(java.lang.String)并使用UTF-8字符串调用此方法与调用setContentType并使用String of text/html相同; 字符集= UTF-8.
Tim*_*per 14
正如其他人所说,使用:
response.setCharacterEncoding("UTF-16LE");
Run Code Online (Sandbox Code Playgroud)
要么:
response.setHeader("Content-Type", "text/xml; charset=UTF-16LE");
Run Code Online (Sandbox Code Playgroud)
...但请确保在调用response.getWriter()之前执行此操作; ...!
第一
response.setHeader("Content-Type", "text/xml; charset=UTF-16LE");
Run Code Online (Sandbox Code Playgroud)
然后,确保你实际上发出了那个编码!