首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX编码问题

问AJAX编码问题
EN

Stack Overflow用户
提问于 2013-08-02 00:39:16
回答 1查看 71关注 0票数 0

我对AJAX中的编码有问题。

我有一个丹麦基金会的网站--这些基金会的名字包括“埃纳”、“奥斯”和“奥斯”的特殊字符。当我在下拉菜单中过滤时,特殊字符会以'?‘显示。

JavaScript:

代码语言:javascript
复制
function findLegater(val1, val2, val3) {

var stu = document.getElementById(val1).value
var ud = document.getElementById(val2).value
var kva = document.getElementById(val3).value

if (stu=="N" && ud =="0" && kva =="0") {
document.getElementById("txtHint").innerHTML="";
}
else {
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","getlegat.php?s="+stu+"&u="+ud+"&k="+kva,true);
xmlhttp.send();
}
}

PHP接收数据:

代码语言:javascript
复制
$s=$_GET["s"];
$u=$_GET["u"];
$k=$_GET["k"];

include 'msql/msql-connect.php'; 

if ($s!= "N" && $u != "0" && $k!="0") {
$query = "SELECT * FROM legater WHERE studiegrad LIKE '%$s%' and studie LIKE '%$u%' and                  kvartal LIKE '%$k%'";
}
else if ($s!= "N" && $u == "0" && $k=="0")  {
$query = "SELECT * FROM legater WHERE studiegrad LIKE '%$s%'";
}
else if ($s!= "N" && $u != "0" && $k=="0")  {
$query = "SELECT * FROM legater WHERE studiegrad LIKE '%$s%' and studie LIKE '%$u%'"; 
}
else if($s== "N" && $u != "0" && $k=="0")  {
$query = "SELECT * FROM legater WHERE studie LIKE '%$u%'";
} 
else if($s== "N" && $u != "0" && $k!="0")  {
$query = "SELECT * FROM legater WHERE studie LIKE '%$u%' and kvartal LIKE '%$k%'"; 
} 
else if($s== "N" && $u == "0" && $k!="0")  {
$query = "SELECT * FROM legater WHERE kvartal LIKE '%$k%'";
} 
else if($s!= "N" && $u == "0" && $k!="0")  {
$query = "SELECT * FROM legater WHERE studiegrad LIKE '%$s%' and kvartal LIKE '%$k%'"; 
} 

// Execute query
$result = mysql_query($query) or die ("Error in" . $query);
$number = mysql_num_rows($result);

// Check result
if ($number == 0) {
  echo "Ingen legater fundet";
}
else {
  while ($row = mysql_fetch_array($result)) {
    echo "<li><a href=\"legat.php?id=" . $row['id'] . "\">" . $row['navn'] . "</a>    </li>";
  }
}

// free result set memory
mysql_free_result($result);

// close connection
mysql_close($connection);

最后,这是我的HTML标题:

代码语言:javascript
复制
<meta charset="UTF-8">

我不知道如何修复这些角色。我做了以下工作:

  • 检查我的本地主机(我目前用于测试)是否使用UTF-8。
  • 确保我的HTML有UTF-8的元字符集。
  • 我所有的文件都是用Notepad++创建的-我已经确保所有文件都被正确地创建为UTF-8 (没有BOM)。

所有的帮助都非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-02 00:46:14

试试这个看看会发生什么

代码语言:javascript
复制
 while ($row = mysql_fetch_array($result)) {
   $xxx .="<li><a href=\"legat.php?id=" . $row['id'] . "\">" . $row['navn'] . "</a>    </li>";
 }


echo utf8_encode($xxx);

作为边注: Mysql_*扩展在PHP5.5.0中被取消,并将在将来被删除。相反,应该使用MySQLi或PDO_MySQL扩展。

一个有用的链接 functions in PHP

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18006949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档