gpt4 book ai didi

java - 为什么欧元符号不能在此网页中正常显示?

转载 作者:行者123 更新时间:2023-11-28 02:10:14 25 4
gpt4 key购买 nike

我正在使用以下 JSoup 代码来呈现此货币:

currencySpan.html("€" + currencyFormat.format(estimatedValue));

但是,如果您访问 http://www.lastcalc.com/pmGgp1QR要查看此输出,它会显示一个“?”欧元符号应该在哪里(在 19.164 值之前)。我在 Chrome 和 Safari 中都看到了这一点。

为什么这个符号没有正确显示?

编辑:人们指出这不是浏览器问题,而是 ?正在供应。基本上我使用 JSoup 的 Element.html() 来设置文本(包括 %euro;),然后我使用 JSoup 将它呈现为一个字符串,该字符串返回给浏​​览器(当页面第一次出现时直接返回)加载,或者如果页面被编辑,则作为 AJAX JSON 调用的一部分)。

这是返回文档的代码(resp 是一个 HttpServletResponse):

resp.setContentType("text/html");
resp.getWriter().append(doc.toString());

edit2: 我卡住了 System.out.println(currencySpan);果然,Java 打印了:

<span class=" currency">€19.164</span>

奇怪的是,JSoup 似乎已经转换了 & euro ;到实际的符号,但在某些时候它没有到达浏览器。

我如何确保浏览器将 servlet 返回的内容视为 UTF-8?

edit3:已修复,我用下面的修复方法回答。

最佳答案

好的,问题是浏览器没有将响应解释为 UTF-8,已修复:

resp.setContentType("text/html; charset=UTF-8");

关于java - 为什么欧元符号不能在此网页中正常显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com