Android端解决后台PHP返回的Json中文乱码问题

2018-09-18  本文已影响0人  大道至简_知易行难

描述:最近开发中后台换成php,而后接收到的json数据log打印显示乱码,将json放在第三方格式化也没问题。查询了之后知道是php在不做处理时返回的数据默认会改成Unicode编码,php端有改的方法,这里主要说一下android端的解决

本工程采用的是rxJava+retrofit的网络框架,下面是php返回的json在logcat的显示


Inkedphp_LI.jpg

下面是Android端解决的代码

  //日志拦截器
        HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
            @Override
            public void log(String message) {
                //打印retrofit日志
                Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
                Matcher matcher = pattern.matcher(message);
                char ch;
                while (matcher.find()) {
                    ch = (char) Integer.parseInt(matcher.group(2), 16);
                    message = message.replace(matcher.group(1), ch + "");
                }
                Logger.e(TAG, "retrofitBack ======================= " + message);
            }
        });

而后是解决后的logcat显示


后.jpg

完事!收工

上一篇 下一篇

猜你喜欢

热点阅读