KindEditor 从数据库里取值样式不正常的问题解决,其实这是在用富文本编辑器时,由前台向后台传值的过程中,特殊字符被转义了,所以存到数据库里再取出来也就不是正常格式的内容了
解决方法:
第一种方法:
用Base64位编码解码,
(1)前台编码
content = $.base64.encode(content);
(2)后台解码
content = new String(Base64.decode(content),"utf-8");
不过这样虽然解决了特殊字符传值的问题,能使带样式的英文内容不受影响,不过中文却出现了乱码,所以最后还是放弃了这个Base64位编码
第二种方法:
前台使用jquery编码,后台用URL解码
Jquery解码:decodeURIComponent(url);
Jquery编码:encodeURIComponent(url);
这样可以使存到数据库里的内容就是解码后的,取出来就是带想得到的原样式内容了
(1)前台
var content = editor.html();
content = encodeURIComponent(content);
(2)后台
String content = (String)pSet.get("content");
content = URLDecoder.decode(content, "utf-8");
这样就可以从前台向后台传特殊字符,且不会出现中文乱码,存到数据库中,提取出来也就可以正常显示所有原样式的内容了。