首页 新闻 会员 周边

微信自定义菜单 "errcode":40033,"errmsg":"invalid charset. please check your request

0
悬赏园豆:60 [已关闭问题] 关闭于 2015-10-08 14:37

用java开发微信服务号的自定义菜单时,菜单的json数据中含有汉字,微信反馈:

 {"errcode":40033,"errmsg":"invalid charset. please check your request, if include \\uxxxx will create fail! hint: [edZHKa0915vr21]"}

如何解决?急等

相关代码:

 1 public static void createMenu(String accessToken){
 2         Logger logger = Logger.getLogger(WxMenuManager.class.getSimpleName());
 3         
 4         logger.info("[WX INIT ] CREATEMENU");
 5         
 6         CloseableHttpClient httpClient = HttpClientBuilder.create().build();
 7         HttpResponse httpResponse = null;
 8         
 9         
10         
11         HttpPost postRequest = new HttpPost("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + accessToken);
12         
13         
14         
15         List<Object> buttonList = new ArrayList<Object>();
16 logger.info("[WX INIT ] CREATEMENU  before  buttonList.add");
17         buttonList.add(new WxMenuButton("view", "菜单一", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fwww.wangyili.com%2Fmediator&response_type=code&scope=snsapi_base&state=talents-index#wechat_redirect"));
18         buttonList.add(new WxMenuButton("view", "菜单二", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fwww.wangyili.com%2Fmediator&response_type=code&scope=snsapi_base&state=jobs-index#wechat_redirect"));
19 logger.info("[WX INIT ] CREATEMENU  before  subButtonList.add");
20         List<WxMenuButton> subButtonList = new ArrayList<WxMenuButton>();
21         subButtonList.add(new WxMenuButton("view","子菜单一","https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fwww.wangyili.com%2Fmediator&response_type=code&scope=snsapi_base&state=activities-index#wechat_redirect"));
22         subButtonList.add(new WxMenuButton("view","子菜单二","https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fwww.wangyili.com%2Fmediator&response_type=code&scope=snsapi_base&state=promotions-index#wechat_redirect"));
23         subButtonList.add(new WxMenuButton("view", "子菜单三", "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fwww.wangyili.com%2Fmediator&response_type=code&scope=snsapi_base&state=personal#wechat_redirect"));
24 logger.info("[WX INIT ] CREATEMENU  before  new WxMenuSubButton");        
25         WxMenuSubButton wxMenuSubButton = new WxMenuSubButton("菜单三", subButtonList);
26         logger.info("[WX INIT ] CREATEMENU  after  WxMenuSubButton");
27         buttonList.add(wxMenuSubButton);
28         logger.info("[WX INIT ] CREATEMENU after buttonList.add(wxMenuSubButton)");
29         WxMenuList wxMenu = new WxMenuList(buttonList);
30         logger.info("[WX INIT ] CREATEMENU after WxMenuList wxMenu = new WxMenuList(buttonList); ");
31         Gson gson = new Gson();
32         String wxMenuJson = gson.toJson(wxMenu);
33         
34         logger.info("[WX INIT ]  wxMenuJson      " + wxMenuJson);
35         
36         
37         
38         StringEntity se = new StringEntity(wxMenuJson,"UTF-8");
39         se.setContentType("text/json");
40         se.setContentEncoding("UTF-8");
41         
42         postRequest.setEntity(se);
43         try {
44             httpResponse = httpClient.execute(postRequest);
45             handleResponse(httpResponse.getEntity().getContent());
46         } catch (Exception e) {
47             e.printStackTrace();
48         }
49     }
恰同学少年2011的主页 恰同学少年2011 | 初学一级 | 园豆:138
提问于:2015-10-08 14:12
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册