我面临的问题是Pound符号出现在我的消息中,骆驼路线, 当我的骆驼休息端点进入json请求时,它会被转换为"?"同样也会在日志中显示出来。
我已尝试通过将convertBodyTo标记字符集设置为utf-8来解决此问题,但它没有奏效。
使用的Camel版本是2.10。 区域设置为:en_US。
这是路线:
<from uri="jetty:http://localhost:8080/testService"/>
<camel:convertBodyTo type="String" charset="utf-8" />
<camel:log message="Message Body: ${body}" />
<to uri="jetty:http://localhost:8080/testEndpoints"/>
答案 0 :(得分:2)
您需要知道客户端在POST JSON时使用的编码。浏览器应该在Content-Type
标题字段中向您发送编码信息。
如果英镑符号显示为单个问号,则表示该流具有单字节编码。如果它是多字节然后用单字节编码读取它将显示为两个垃圾字符,而不是一个。如果Content-Type标头未指定编码,请尝试设置西方单字节编码ISO-8859-1
而不是UTF-8
,看看是否有效。由于您的语言环境是en_US,因此默认编码可能是US-ASCII
。