CXF服务接受中文参数为乱码解决方法

本文分析了CXF调用Struts2服务时出现乱码的原因,并提供了相应的解决方案。当CXF以UTF-8格式发送数据到使用GBK编码的Struts2服务端时,会出现字符乱码的问题。文章详细介绍了如何通过编码转换来解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.乱码产生原因分析:CXF在执行的时候,会将参数以utf-8的方式组装成xml格式发送到服务提供端,如果服务端使用了struts2框架,而又把struts2接受请求的编码设置为GBK(struts.i18n.encoding=GBK),此时就会出现乱码,如果将struts2的编码设置为utf-8的话就不会出现乱码.

2.乱码解决方法:

.在客户端,使用java.net.URLEncoder类中的encode方法将参数编码成utf-8,如 java.net.URLEncoder.encode("电路调度工单", "utf-8").

.在服务端,使用java.net.URLDecoder类中的decode方法将参数解码成utf-8,如 java.net.URLDecoder.decode("电路调度工单", "utf-8").
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值