无法在 SVG 中显示度数字符 (°)
Unable to display a degree char (°) in a SVG
我正在尝试在 D3.js 操作的 SVG 中显示度数字符 (°)。到目前为止,我已经尝试了不同的字符集,但我总是得到一个 � 并且以下字符代码只是将它们自己显示为常规文本:°
或 °
.
我正在使用 <meta charset="UTF-8">
。
您将如何显示该符号?也许有一个 SVG 属性 我可以设置?
我不明白为什么这应该是个问题。你说你在 HTML 文件中添加了 <meta charset="UTF-8">
,但你真的使用 UTF-8 编码保存它吗?一些纯文本编辑器默认使用其他字符集,如 iso-8859-1,因此您可能在某处有不正确的字符代码。如果您的 Javascript 存储在单独的文件中,请确保该文件也已正确编码。
另请记住,°
等字符实体在 SVG 文件中不起作用。
var svg = d3.select("body")
.append("svg")
.attr("width", 400)
.attr("height", 100);
svg.append("text")
.text("Water boils at 100°C")
.attr("x", 20)
.attr("y", 50)
.attr("font-family", "sans-serif")
.attr("font-size", "40px");
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
我正在尝试在 D3.js 操作的 SVG 中显示度数字符 (°)。到目前为止,我已经尝试了不同的字符集,但我总是得到一个 � 并且以下字符代码只是将它们自己显示为常规文本:°
或 °
.
我正在使用 <meta charset="UTF-8">
。
您将如何显示该符号?也许有一个 SVG 属性 我可以设置?
我不明白为什么这应该是个问题。你说你在 HTML 文件中添加了 <meta charset="UTF-8">
,但你真的使用 UTF-8 编码保存它吗?一些纯文本编辑器默认使用其他字符集,如 iso-8859-1,因此您可能在某处有不正确的字符代码。如果您的 Javascript 存储在单独的文件中,请确保该文件也已正确编码。
另请记住,°
等字符实体在 SVG 文件中不起作用。
var svg = d3.select("body")
.append("svg")
.attr("width", 400)
.attr("height", 100);
svg.append("text")
.text("Water boils at 100°C")
.attr("x", 20)
.attr("y", 50)
.attr("font-family", "sans-serif")
.attr("font-size", "40px");
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>