我正在使用谷歌条形图https://developers.google.com/chart/interactive/docs/gallery/barchart . Headers 存储在数据库中,有些包含撇号 . Headers 中的那些撇号呈现为 &39 ,例如"he's" ---> "he&39s"
我想要撇号正常渲染 .
我找到了几个解决方案,但到目前为止还没有一个解决这么简单的任务 .
任何 working 解决方案?
update:
这是正确呈现,如 I'm goooood
var chart = new google.visualization.ColumnChart(document.getElementById("my_div"));
chart.draw(data, {
title: "I'm goooood",
legend: {position: "none"},
});
但是这 - 不是,它是---> I'm goooood
var chart = new google.visualization.ColumnChart(document.getElementById("my_div"));
chart.draw(data, {
title: "<%= get_value_from_db() %>",
legend: {position: "none"},
});"
在其他页面上,没有图表但只有文本,"<%= get_value_from_db() %>"被正确呈现 - I'm goooood
.
4 回答
我有同样的问题,但只有'和'被渲染为“&39”或“&34” .
由于上述修复程序都不适用于我,我依赖的一个快速且非常脏的解决方案是使用带有prime(')和double prime(“)符号的string.replace - 循环合理的次数 .
此外,我认为这个错误可能与谷歌图表和EJS如何相互作用有关,因为OP和我正在使用它并且有这个问题 . (纯粹猜测)
使用\来逃避' . 看看这个例子
当你从db变得很小时,你必须使用字符串操作在 Headers 字符串中添加\ .
您可以使用dom元素将ascii字符转换为可读文本
在你的选择......
请参阅以下工作代码段...
只需在文本上使用decodeURI即可 . 我的 Headers 来自用户从类别中选择的内容 . 所以,当我显示图表 Headers 时,我喜欢这样:
title:decodeURI(strCategory)'从'decodeURI(strInitialDate)'到'decodeURI(strEndDate)
我的类别包括'Alimentação','Feira /Sacolão'等等......它甚至可以在智能手机上使用 .
希望能帮助到你!
补充:使用警报也...警报('sem dados paraoperíodode:'decodeURI(strInitialDate)''decodeURI(strEndDate))