D3.js文本元素未正确显示unicode字符

Cur*_*ero 3 javascript unicode svg d3.js

我正在尝试使用unicode将➤附加到SVG中,如下所示.

g.append("text")
        .attr("x", 10)
        .attr("y", 10)
        .text("➤");
Run Code Online (Sandbox Code Playgroud)

➤ 显示,但不显示➤

pot*_*ngs 11

而不是.text()使用.html()


bob*_*nce 6

➤是HTML/XML标记.您没有插入HTML/XML源代码,因此这些转义不会执行任何操作.你可以这样做:

.text('?');
Run Code Online (Sandbox Code Playgroud)

并以相同的编码保存文件,浏览器将其读取为(通常为UTF-8,用于带有的页面)<meta charset="utf-8"/>.

如果你真的不能使用非ASCII字符 - 例如因为你的脚本需要包含在具有不同字符集的多个页面中,或者因为你的文本编辑器不支持Unicode - 那么你想要使用的转义类型是JavaScript字符串文字编码.➤是U + 27A4黑色向右箭头,所以:

.text('\u27A4');
Run Code Online (Sandbox Code Playgroud)