bookmarklet正确显示UTF-8字符
JavaScript: bookmarklet to show UTF-8 characters correctly
我正在阅读一些不正确显示一些UTF-8字符的页面。例如,这个页面显示
:
显示一个€™的的
显示一个€˜的的(见本页)
有可能在bookmarklet中解决这个问题吗?如果是,那么是怎么做的?
与书签,没有。不幸的是,大多数浏览器不提供使用javascript更改页面编码的方法。您可以尝试添加元标签来影响编码,但这可能不适用于所有浏览器(谷歌"元标签编码")。这主要是服务器问题——web服务器发送了错误的页面编码头。
但是,如果您想要一个可以从浏览器调用的菜单项来更改编码(这基本上就是bookmarklet),您可以简单地调用编码菜单并将其更改为UTF-8。在IE8上是Page->Encoding->UTF8
,在Chrome上是Menu->Tools->Encoding->UTF8
。搜索其他浏览器
在另一个问题的帮助下,我找到了解决方案:
javascript:
function htmlreplace(a, b, element) {
if (!element) element = document.body;
var nodes = element.childNodes;
for (var n=0; n<nodes.length; n++) {
if (nodes[n].nodeType == Node.TEXT_NODE) {
var r = new RegExp(a, 'gi');
nodes[n].textContent = nodes[n].textContent.replace(r, b);
} else {
htmlreplace(a, b, nodes[n]);
}
}
}
htmlreplace("–","–");
htmlreplace("’","’");
htmlreplace("‘","‘");
htmlreplace("“","“");
htmlreplace("„","„");
太棒了!
相关文章:
- 不能将 UTF-8 字符替换为正则表达式
- 在JavaScript源代码中使用UTF-8字符文字是否安全
- 从 utf-8 代码打印/输出 utf-8 字符
- 对 URI 组件非 utf-8 字符进行编码并相应地解码它们的正确方法是什么
- XRegExp接受所有UTF-8字符,单词之间有空格,排除某个符号,并且没有尾随空格
- 使用Javascript从外部文件读取UTF-8特殊字符
- 如何用javascript中的json解码iso 8859-1中的utf-8字符
- 如何防止UTF-8字符成为垃圾
- 特殊字符UTF-8
- Javascript验证只接受utf-8字符
- 如何在javascript中使用UTF-8字符设置Safari浏览器标题
- 在PDF中显示UTF-8字符
- 如何在Javascript中验证包含非英语(UTF-8)字符的电子邮件地址
- bookmarklet正确显示UTF-8字符
- Actionscript 2 -转义utf-8字符
- AngularJS路由中的Unicode/utf-8字符
- Javascript无法显示utf-8字符
- 包含UTF-8字符的字符串的Javascript正则表达式问题
- UTF字符的角度翻译消毒失败
- utf 8-Javascript非utf-8字符搜索谷歌Chrome扩展