【发布时间】:2011-07-14 11:14:59
【问题描述】:
我想用 javascript 从我的服务器读取文件并将其内容显示在 html 页面中。 该文件是 ANSI 字符集,它有罗马尼亚字符.. 我想以它们的方式显示这些字符:D 而不是不同的黑色符号..
所以我认为我的问题是字符集。我有一个获取文件内容的请求,如下所示:
function IO(U, V) {//LA MOD String Version. A tiny ajax library. by, DanDavis
var X = !window.XMLHttpRequest ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
X.open(V ? 'PUT' : 'GET', U, false );
X.setRequestHeader('Content-Type', 'Charset=UTF-8');
X.send(V ? V : '');return X.responseText;}
据我所知罗马尼亚字符包含在 UTF-8 字符集中,所以我将请求标头的字符集设置为 utf-8.. 文件是 utf-8 格式,并且我有元标记告诉该页面具有 utf-8 内容的浏览器..
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
因此,如果我向服务器查询直接文件,浏览器会向我显示罗马尼亚字符,但如果我通过此脚本显示页面内容,我只会看到符号而不是字符.. 那么我做错了什么?
谢谢!
PS:我希望它可以在 Firefox 上运行,至少不一定在所有浏览器中都可以使用。
【问题讨论】:
-
内容类型需要是:text/html; charset=UTF-8
-
你在那个文件中使用了什么
Content-Type标头? -
在文本编辑器中很好是 ansi :D 如果这是问题 :D,它不是一个 html 页面它只有文本 :D
-
我试过 "text/html; charset=UTF-8" 但还是一样 :D
-
@Cata:这与您的文本编辑器的功能无关。 only 相关的是 Web 服务器为该特定文件返回的 Content-Type 标头。
标签: javascript character-encoding