问题:如何通过jQuery的函数load()
更改正在加载的文本文件的编码?
我有1页,index.html
其中我已放置了所有css
,js
和html
,现在我想“提取”标题那个页面。我是通过创建名为“header”的新文件夹来实现的,该文件夹包含header.css
,header.js
和header.html
。我也在创建一个模板(适用于所有页面),其中包含标题,因此,此模板的<head>
如下所示:
<head>
<link rel="stylesheet" href="header/header.css" charset="windows-1252">
<script src="jquery-3.1.0.min.js"></script>
<script src="header/header.js"></script>
<script type='text/javascript'>$(document).ready(function(){
$('body').load('header/header.html');});
</script>
</head>
这很有效,而且正如我所希望的那样,所以没有问题
问题是塞尔维亚字母如š,đ,ž,č和ć在黑钻石( )中表示为问号。我做了一些研究,发现这是因为浏览器*期待utf8字符集/编码,我的文件(上面列出的)都是 Windows-1252编码。正如您在上面的代码中看到的那样,我确实使用了charset="windows-1252"
,但这是在<link>
中,这是HTML的一部分,但是要将现有页面插入模板页面,我必须使用jQuery,并且它无法为正在加载的文件选择编码。
注意:我正在使用 notepad ++ ,我确实认为编码是windows-1252。此外,我正在使用 Firefox 来预览我的网页,我发现一篇文章说firefox在编码方面遇到了一些问题,但这是一篇旧文章。
答案 0 :(得分:0)
您是否尝试将编码放入index.html
?
答案 1 :(得分:0)
所以...我发现发生了什么......仍然不知道原因,但现在它有效。
当我在记事本++中更改编码时,我没有点击Convert to ___
,我点击了Encode in ___
。我多次更改了编码,最后将其更改回utf-8
,但仍然无法正常工作。后来,我注意到有两个选项:Convert to ___
和Encode in ___
,然后我选择Encode in ___
。现在它有效。当我说更改时,我的意思是所有文件(header.html
header.css
header.js
和template.html
)。我不知道notepad++
如何使用编码,但如果有人对simmilar或问题进行了总结,那么快速回答是:
UTF-8工作正常。你不需要1252也不需要8859-1 / 2。如果遇到像我这样的问题,请notepad++
点击Convert to UTF-8
而不是Encode in UTF-8
。
感谢您的建议,对此有些愚蠢的问题感到抱歉。我只是不知道(并且没有)Convert to
中Encode in
和notepad++
之间的区别。