Php Internet explorer不会发送特殊字符
我的网站:www.egemen.dk 我正在开发一个网站,IE上的特殊字符有问题。在我的网站上有一个下拉框,上面有许多姓氏。这些姓氏可以包含特殊字符,如ô、î、ö等。当从数据库获取这些姓氏以构建下拉列表时,一切正常,并且正确显示特殊字符,但是,用户应该能够选择姓氏并执行搜索。当选择带有特殊字符的姓氏时,代码调用javascript方法连接到数据库。在FF和safari中,它可以工作,但在IE中,它无法将这些特殊字符正确地发送到javascript。有什么想法吗 Javascript:Php Internet explorer不会发送特殊字符,php,javascript,ajax,browser,character-encoding,Php,Javascript,Ajax,Browser,Character Encoding,我的网站:www.egemen.dk 我正在开发一个网站,IE上的特殊字符有问题。在我的网站上有一个下拉框,上面有许多姓氏。这些姓氏可以包含特殊字符,如ô、î、ö等。当从数据库获取这些姓氏以构建下拉列表时,一切正常,并且正确显示特殊字符,但是,用户应该能够选择姓氏并执行搜索。当选择带有特殊字符的姓氏时,代码调用javascript方法连接到数据库。在FF和safari中,它可以工作,但在IE中,它无法将这些特殊字符正确地发送到javascript。有什么想法吗 Javascript: <s
<script>
function searchUser(str)
{
var call ="/Data/controller.php?cmd="+str;
if(str == "searchByName"){
call += "&name=" + document.getElementById("s_name").value;
call += "&lname=" + document.getElementById("s_lname").value;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", call ,true);
xmlhttp.send();
}
</script>
Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1 /DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
我也尝试过使用utf-8作为meta中的字符集。这些值需要使用URL编码
有些奇怪的事情正在发生,因为浏览器使用windows-1252编码显示页面,即使页面似乎有一个声明UTF-8的元标记,并且HTTP头没有指定编码。解释是,如果您用a检查代码,您将看到标记中有输入错误:
<meta http-equiv="content-type" content="text/html; charset="utf-8" />
utf-8前的引号应删除
这会影响表单数据在提交时的编码。默认情况下,它与页面的编码相同。它应该是UTF-8,以确保正确发送所有字符。您正在测试哪些版本的IE?哪些不正确?你有什么?谢谢。尝试此操作时,代码无法编译。它给出了一个错误。@user2373787仔细检查您的其他代码。答案中没有语法错误。错误信息是什么?
<meta http-equiv="content-type" content="text/html; charset="utf-8" />