最近做项目遇到了这种情况,Java接收curl发出的中文请求无法解析,英文请求一切正常,中文请求则对方服务器无法解析,可以猜测是中文导致的编码问题,但是奇怪的是,本地输出json也没有乱码,编解码正常,尝试转换成utf-8问题依旧,依然是本地正常输出无乱码,对方服务器无法解析。
重点来了:我尝试用Unicode转utf8,结果就正常了!
后来经过分析,发现本地客户端的程序,默认采用了Unicode编码,而Unicode实际上不等价于utf-8,网上查阅了资料说utf-8是Unicode的一种具体实现。
总结来说,如果你正好也碰上了Java客户端无法解析中文,但是本地输出json请求正确的情况,可以尝试一下Unicode转utf-8,或许可以解决你的问题!
谨此纪念。