Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编码字符在HTML上显示ok,但在SVG上按字面意思显示_Html_Svg_Character Encoding_Character Entities - Fatal编程技术网

编码字符在HTML上显示ok,但在SVG上按字面意思显示

编码字符在HTML上显示ok,但在SVG上按字面意思显示,html,svg,character-encoding,character-entities,Html,Svg,Character Encoding,Character Entities,我有一个HTML页面,其中SVG元素是通过javascript创建的 如果我在页面的HTML部分使用编码字符,比如µ/m³,完美呈现为µ/m³ 但是,当我将相同的文本放在SVG文本元素中时,文本µ/m³文本显示在页面上 整个页面编码是UTF-8,HTML和javascript文件都使用UTF-8编码保存 你知道这里会发生什么吗 编辑:一旦javascript添加了SVG部分,我就添加了页面的完整源代码。同样的效果也发生在这里,页面在svg部分之前呈现ok编码的字符

我有一个HTML页面,其中SVG元素是通过javascript创建的

如果我在页面的HTML部分使用编码字符,比如
µ/m³,完美呈现为µ/m³

但是,当我将相同的文本放在SVG文本元素中时,文本
µ/m³文本显示在页面上

整个页面编码是UTF-8,HTML和javascript文件都使用UTF-8编码保存

你知道这里会发生什么吗

编辑:一旦javascript添加了SVG部分,我就添加了页面的完整源代码。同样的效果也发生在这里,页面在svg部分之前呈现ok编码的字符,但显示svg代码中编码的字符


卡利达德艾尔酒店
  • ltima medición global
  • so2
  • notitle=“10米轨道交通暂停”class=“menuEle”>PM10
  • o3
  • µg/m³ 050100015020025030035012 PMWed 1312 PMTue 1212 PMMon 1112 PMFeb 1012 PMSat 0912 PMFri 0812 PMThu 07µg/m³
您可以使用
selection.html(&&181;/m&&179;)
。这导致字符串被解析为XML,实体被它们所代表的字符替换

我知道d3文件中有一段说

此外,selection.html仅在html元素上受支持。SVG元素和其他非HTML元素不支持innerHTML属性,因此与selection.HTML不兼容


这似乎是一个非常古老的文本,不再适用,除非你想支持像IEW这样的浏览器。我想我们需要查看javascript,我怀疑这就是你的错误所在。@RobertLongson在javascript上有一个将元素与单位myArray={“so”相关联的散列“µ;/m³;”;我使用它通过d3.js构建svg文本节点,类似于chart.add(“text”).attrib(“blablablabla”,“blablablabla”).text(myArray[currentElement]);当我到家的时候,我会尝试发布相关的代码。我开始认为这与双引号有关。。。在上一条消息中,我用双引号将编码文本括起来(就像javascript代码中那样),因此页面显示了它的原样,而在html页面上,它没有被引号包围,实体得到了解决,为什么不直接使用字符µ/m³?@TomBlodget这些字符来自开放数据格式的外部源,它们编码为html实体。