代码和问号以HTML格式转换

时间:2015-07-02 22:12:48

标签: java html jsp

所以我遇到了一个问题,我正在使用JSP。

我将代码发送到HTML页面,页面将部分代码转换为“?”

我发送到HTML页面的代码:

"assertEquals('\uD83D\uDE30\', StringEscapeUtils.escapeCsv('\uD83D\uDE30\'));",

如何在html页面中显示:

assertEquals("?", StringEscapeUtils.escapeCsv("?"));

所以,我想保留代码,不要将其解析为“?” 谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

我假设您要打印字符串

assertEquals('\uD83D\uDE30\', StringEscapeUtils.escapeCsv('\uD83D\uDE30\'));

就像在网页上一样。

下面的代码会产生您在问题中提供的错误输出

PrintWriter out = res.getWriter();
    out.print("assertEquals('\uD83D\uDE30\', StringEscapeUtils.escapeCsv('\uD83D\uDE30\'));");

但是在上面添加一个额外的" \"打印正确的输出

PrintWriter out = res.getWriter();
    out.print("assertEquals('\\uD83D\\uDE30\\', StringEscapeUtils.escapeCsv('\\uD83D\\uDE30\\'));");

" \ U"是一个unicode逃脱,而" \ u"不是。

在我看来 在打印时,打印机正在考虑将其作为unicode char并尝试对其进行解码,当它无法解码时,打印"?"。

当你添加额外的" \"时,\ uD83D变成一个简单的字符串并按原样打印。