我正在提供嵌入式服务,用户可以将其复制/粘贴到他们的网站中并显示内容.
该脚本加载样式表并呈现注入主机页面的一些HTML.
当主页以不同于我的脚本(以UTF-8编码)的编码(如ISO-8559-1)编码时,我遇到显示特殊字符(ü,ö,ä,你的名字)的问题.特殊字符会出现乱码.
内容注入如下:
var content = template.render(model); $('#some-el').html(content);
同样的问题适用于通过CSS伪像生成的内容,例如:
.some-class::after{ content: 'Ümläüts äré fün'; }
我现在解决这个问题的方法是在编译我的模板(通过hogan.js编译的Mustache)和构建步骤中的CSS时ü
,将所有元音变换为实体(对于HTML,\00FC
用于CSS).这是有效的,但感觉非常麻烦,容易打破.
决定JavaScript生成内容编码的因素有哪些?有没有办法让主机站点"尊重"我的脚本输出的编码?这可能是由于某些服务器配置错误造成的?