这是个小问题,初次遇到,记录一下。
后端java从数据库查出数据,是有中文的,先要encode,然后再组合成json串传到前端,然后前端用js解析json然后decode,这样正常显示中文。
具体代码如下。
后端java:
JSONObject jsonInfo = new JSONObject();
String userName = java.net.URLEncoder.encode(rs.getString("userName"), "UTF-8");
userName = userName.replace("+","%20");
byte byteUser[] = Base64.encodeBase64(userName.getBytes());
String String_userName = new String(byteUser);
前端js:
var userName = window.decodeURIComponent(commonBase64Decode(jsonInfo[i].userName));
这样就可以实现中文的传输和显示了。
这里需要注意的是,URLEncoder.encode会把字符串中的空格变为“+”,所以还需要替换一下。这样才能正常显示。