这个空格真的郁闷,模板只要copy出去,用notepad++ 或者vscode编辑过后再生成就又报错,只要再核对一遍所有空格,空格也分英文状态和中文状态吗?
问题已解决:回归一下;
空格分三种
1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ;
2.半角空格(英文符号)\u0020,代码中常用的;
3.全角空格(中文符号)\u3000,中文文章中使用;
因为我用的是tinymce富文本在线编辑模板文件,tinymce获取的文件内容里面的空格为不间断空格\u00A0,只要把它替换成全角或者半角任何一种就可以了。
代码实现:
//修改文件
String encode = StringEscapeUtils.escapeJava(contenthtml);
String encode1=encode.replaceAll("\\\\u00A0", "\\\\u0020");
contenthtml = StringEscapeUtils.unescapeJava(encode1);
sysAttachmentService.editFile(tableName,id,contenthtml);