0

我在使用 AJAX 发送整页源代码时遇到问题。我试过用escape(), encodeURI(),转义内容encodeURIComponent()- 所有这些都无法发送 utf8 字符。

我的代码是:

var http = new XMLHttpRequest();
var send = params='html=' + encodeURIComponent(document.documentElement.outerHTML).replace('+',' ');
http.open('POST','submitsource.php',true);
http.setRequestHeader('Content-type','application/x-www-form-urlencoded; charset=UTF-8');
http.onreadystatechange=function(){if(http.readyState==4&&http.status==200){
    alert('ok!');
}};

http.send(params);
4

3 回答 3

1

您可以使用标签 Meta:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
于 2013-05-08T13:00:09.873 回答
0

问题实际上是 PHP 将响应写入文件。我必须将 UTF-8 签名放在我的内容前面,以便在不弄乱字符的情况下编写它

file_put_contents('contents.txt', "\xEF\xBB\xBF".$_POST['html']);
于 2013-05-09T09:32:06.563 回答
0

将您的内容类型设置为“text/html”,并在您的服务器上以 html 格式读取整个帖子数据

于 2013-05-08T12:54:38.027 回答