我正在使用apache camel-http4。
我想将任何网页内容转换为UTF-8,我使用http4作为我的httpClient。
我创建了实现org.apache.camel.component.http4.HttpClientConfigurer的HttpClientConfigurer类。
我已将HTTP_CONTENT_CHARSET设置为Consts.UTF_8,就像在configureHttpClient方法中一样。
public void configureHttpClient(HttpClient client) {
client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1).setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET,Consts.UTF_8);
}
但这似乎不起作用。
我也试过像这样设置标题为UTF-8,
setHeader(Exchange.HTTP_CHARACTER_ENCODING, constant('UTF-8'))
在我的路线内,但也没有用。
关于如何使用http4将任何页面编码转换为UTF-8的任何想法。
答案 0 :(得分:0)
哦,编码魔法不像这样那么容易。它几乎不依赖于您的输入字符集,并且您的消息正文必须采用正确的编码才能将其正确转换为输出。所以,你必须
.convertBodyTo(String.class, "UTF-8")
(如果1.错了,它将无效)Exchange.HTTP_CHARACTER_ENCODING