注意:我知道所有内容都应该是UTF-8,但目前我所维护的网站需要提供ISO-8859-1。iframe中嵌入的textarea中未显示重音字符
我有一个搜索框将结果加载到iframe中。其中一个搜索结果在textarea中包含以下字符串。
“#$%&“()* +, - 。/:; < =>
@ABCDEFGHIJKLMNO PQRSTUVWXYZ []^_
`ABCDEFGHIJKLMNO pqrstuvwxyz!{|}〜
¡¢? £¤¥|§¨©ª«¬®¯°±²³'μ¶·¸¹º»¼½¾¿
àÁÂÃÄÅÆÇÈÉÊËÌÍÎÏðÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
ASDF
如果我在自己的网页打开搜索结果领域看起来是正确的,但是当结果被放入iframe中,他们看起来像
“#$%&“()* +,! - 。/:; < =>?
@ABCDEFGHIJKLMNO PQRSTUVWXYZ []^_
`ABCDEFGHIJKLMNO pqrstuvwxyz {|}〜
ASDF
请求报头:
- 接受:*/*
- Accept-Encoding:gzip,deflate,sdch
- Accept-Language:en-US,en; q = 0.8
- Connection:keep-alive
- Content-Type:application/x-www-form-urlencoded; charset = iso-8859-1
- User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/46.0.2490.71 Safari/537。36
- X-请求-随着:XMLHttpRequest的
响应头:
- 缓存控制:无店,无缓存,必重新验证,后检查= 0, - 预-check = 0
- 连接:保持活动
- 内容编码:gzip
- 的Content-Type:text/html的;字符集= ISO-8859-1
- 日期:星期五,二零一五年十月十六日16点25分13秒GMT
- 到期日:星期四,1981年11月19日八时52分00秒GMT
- 保持活动:超时= 15,最大= 73
- 杂注:无缓存
- 服务器:Apache
- 传输编码:分块
- 有所不同:接受编码
- X供电-者:PHP/28年3月5日,pl1- gentoo
这是加载在iframe
$.ajax({
url: url,
contentType: 'application/x-www-form-urlencoded; charset=iso-8859-1',
success: function (data) {
var document = $('#searchResults')[0].contentDocument || $('#searchResults')[0].contentWindow.document;
document.write(data);
document.close();
}
});
任何想法我可以做的就是人物现身JS?
编辑 - 忘记要注意:在页面加载后,开放的开发工具显示了一些有趣的结果:
$( '#SearchResult所')的内容()找到( 'textarea的')。 val() - 显示缩写文本块,字符只是丢失
$('#searchResults')。contents()。find('textarea')。text() - 显示完整的文本块,全部丢失字符出现在这里
编辑2 - 另一个重点,在IE11,Firefox41和Chrome46中观察到的Windows 7
什么是iframe的标签meta chartset中的编码? –
父文档和iframe都有相同的标签, –