请看乱码的样子
文档:batchget_material 有部分乱码怎么办.n...
小程序端好像说是标题的第六个字就会是问号,这感觉好像也不是乱码,只要标题增减了字,他一定是第6个字是问号,这种是什么东西呢?怎么解决呢?
不是 emoji 不是 生僻字,其他字都正常,我觉得也不太可能是编码问题吧。。
附上代码 忘记哪里抄的了
import com.alibaba.fastjson.JSON;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class ArticalUtil {
public static synchronized String getContentList(String token,Map<String, Object> paramsMap ) throws IOException {
String path = " https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + token;
URL url = new URL(path);
// batchget_material 有一些乱码
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("content-type", "application/json;charset=utf-8");
connection.connect();
// post发送的参数
// Map<String, Object> map = new HashMap<>();
// map.put("type", "news"); // news表示图文类型的素材,具体看API文档
// map.put("offset", 0);
// map.put("count", 1);
// 将map转换成json字符串
String paramBody = JSON.toJSONString(paramsMap); // 这里用了Alibaba的fastjson
OutputStream out = connection.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
bw.write(paramBody); // 向流中写入参数字符串
bw.flush();
InputStream in = connection.getInputStream();
byte[] b = new byte[100];
int len = -1;
StringBuffer sb = new StringBuffer();
while((len = in.read(b)) != -1) {
sb.append(new String(b,0,len));
}
in.close();
return sb.toString();
}
}
你好,你指的是获取素材的时候调用这个接口,出现了乱码吗?https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/Get_materials_list.html