使用的页面是 velocity页面,解决问题的思路是:在页面显示的时候用特殊字符对用的unicode编码转换下
1.编写一个处理乱码的工具类
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.alibaba.druid.sql.visitor.functions.Char;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class VelocityEscapeUtil {
/**
* 时间: 2017年7月17日 上午10:25:19</br>
* 版本: v1.0.0</br>
* 描述: json形式的字符串转义</br>
* 方法名: jsonEncode</br>
*/
private static String jsonEncode(String s) {
if (s == null || s.isEmpty()) {
return s;
}
s = s.replace(">", ">");
s = s.replace("<", "<");
s = s.replace("\'", "'");
s = s.replace("\\\\", "\");
s = s.replace("\\\"", """);
s = s.replace("/", "/");
s = s.replace("(", "(");
s = s.replace(")", ")");
return s;
}
/**
*
* 时间: 2017年7月17日 上午10:25:48</br>
* 版本: v1.0.0</br>
* 描述: 字符串转义</br>
* 方法名: strEncode</br>
*/
private static String strEncode(String s) {
if (s == null || s.isEmpty()) {
return s;
}
s = s.replace(">", ">");
s = s.replace("<", "<");
s = s.replace("\'", "'");
s = s.replace("\"", """);
s = s.replace("/", "/");
s = s.replace("(", "(");
s = s.replace(")", ")");
return s;
}
/**
*
* 时间: 2017年7月17日 上午10:26:04</br>
* 版本: v1.0.0</br>
* 描述: 字符转义</br>
* 方法名: charEncode</br>
*/
private static String charEncode(char c) {
String s = String.valueOf(c);
switch (c) {
case