从HTTP请求中读取非英语UTF-8内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从HTTP请求中读取非英语UTF-8内容相关的知识,希望对你有一定的参考价值。
我有以下代码。
内容来自非英语和UTF-8编码的请求。怎么看?目前我这样做但看起来不正确。
private String readContent(HttpServletRequest request)抛出IOException {
String body = null;
BufferedReader reader = null;
if (logger.isDebugEnabled()) {
logger.debug("Inside readContent() ...");
}
try {
// Read from request
StringBuilder buffer = new StringBuilder();
reader = request.getReader();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line + "
");
}
// if (body != null) {
body = buffer.toString();
body.trim();
// }
} catch (IOException ex) {
throw ex;
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ex) {
throw ex;
}
}
}
if (logger.isDebugEnabled()) {
logger.debug("Leaving readContent() ..." + body);
}
return body;
}
答案
我会做这样的事情并使用Apache Commons IOUtils。您只需指定编码即可。
InputStream inputStream = request.getInputStream();
String contentAsString = IOUtils.toString(inputStream, "UTF-8");
您可以使用try / catch块来处理可抛出的IOException。或者让你的方法抛出一个异常,它将在其他地方被捕获/处理。
以上是关于从HTTP请求中读取非英语UTF-8内容的主要内容,如果未能解决你的问题,请参考以下文章