Javascript AJAX返回特殊字符
Javascript AJAX return special characters
我一直在尝试从AJAX请求向PHP脚本返回特殊字符。
响应字符串:abcde1'2'3'4'5"6"7–8é9é10'11'12'13ñ14ñ15'16ñ17ñ18 19 20é21é22í23ñ24ñ25'26ñ27ó28ú29'ghij
使用JavaScript警报,它显示:abcde1â2â3â4â5â6â7â8â©9â©10â11â12â13â±14â±15â16â±17â±18 19 20â©21â©22â23â±24â±25â26â±27â³28âº29âfghij
代码如下:
HTML文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/>
<title></title>
<script src="js/phpTest.js" charset="ISO-8859-1" type="text/javascript"></script>
</head>
<body>
<input id="Submit1" type="submit" value="submit" onclick=" initXHR();return false;" />
</body>
</html>
JS文件:
var xhr;
//;charset=ISO-8859-1
function initXHR() {
getXHRobj();
xhr.open('POST', 'phpinfo.php', true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Content-length", 10);
xhr.setRequestHeader("Connection", "close");
xhr.send("");
return false;
}
function getXHRobj() {
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
else {
throw new Error("Ajax is not supported by this browser");
}
xhr.onreadystatechange = function XHRresp() {
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 300) {
document.write("1. " + xhr.responseText);
}
else {
alert(xhr.responseText);
}
}
}
}
和PHP文件:
<?php
header("Content-Type: text/html;charset=ISO-8859-1");
print "abcde1’2’3’4’5“6”7–8é9é10’11’12’13ñ14ñ15’16ñ17ñ18 19 20é21é22í23ñ24ñ25’26ñ27ó28ú29’fghij";
?>
谢谢,deDogs
看起来您收到的文本有不同的编码样式。
也许这会对你有所帮助。
在提出请求时尝试更改内容类型。
xhr.setRequestHeader("Content-type", "text/richtext");
或者任何适合传输内容的内容。以下链接可能有助于您选择内容类型。
http://www.utoronto.ca/web/htmldocs/book/book-3ed/appb/mimetype.html#text
HTML代码中的字符集可能是ISO-8859-1,但您确定将数据保存在ISO-8859-1中吗?数据可以保存在UTF-8或Windows CP-1252 中
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 用于在Javascript中删除多个空格的特殊字符
- jQuery-Regex以防止任何特殊字符
- javascript正则表达式来识别所有特殊字符
- RegEx只获取特殊字符,前后不获取任何字符
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- Javascript:包括特殊字符的文本选择
- 获取特殊字符后没有单词的句子
- 从JavaScript中正确返回html中的特殊字符
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- Typeahead.js-特殊字符返回为“”&#230"等
- Javascript AJAX返回特殊字符