汉字显示为??????使用PHP从数据库中获取HTML页面时

时间:2015-06-09 04:23:39

标签: javascript php jquery html ajax

我有一个HTML页面,它从HTML页面获取用户输入并显示它。我使用AJAX调用PHP。所以输出显示在同一个HTML中。数据库中有中文输入。获取数据时,它会变为?????。以下是代码:

HTML:

<script>
function PostData() {
var online = navigator.onLine;
if(online){
    // 1. Create XHR instance - Start
    var xhr;
    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");
    }
    // 1. Create XHR instance - End

    // 2. Define what to do when XHR feed you the response from the server - Start
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status == 200 && xhr.status < 300) {
                document.getElementById('div1').innerHTML = xhr.responseText;
            }
        }
    }
    // 2. Define what to do when XHR feed you the response from the server - Start

    var userid = document.getElementById("userid").value;
    var pid = document.getElementById("pid").value;
    // var image = document.getElementById("image").value;
    // 3. Specify your action, location and Send to the server - Start 


    xhr.open('POST', 'login3.php');
    //xhr.open('POST', 'config.php');
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send("userid=" + userid + "&pid=" + pid);
    //xhr.send("&pid=" + pid);
    // 3. Specify your action, location and Send to the server - End

}

else{
alert("You are offline");
}
}
</script>
</head>
<body>
<form>
    <label for="userid">User ID :</label><br/>
    <input type="text" name ="userid" id="userid"  /><br/>
    <label for="pid">Password :</label><br/>
    <input type="password" name="password" id="pid" /><br><br/>



    <div id="div1">
    <input type="button" value ="Login" onClick="PostData()" />
    </div>
    </form>
</body>

PHP:

<?php
$servername = "localhost";
  $username = "root";
  $password = "";
  $dbname = "dtable";
  mysql_query("SET NAMES 'utf8'");//this is what i tried after searching on google
  //session_start();
  // Create connection
  $conn = mysqli_connect($servername, $username, $password, $dbname);
  // Check connection
  if (!$conn) {
      die("Connection failed: " . mysqli_connect_error());
  }
if(isset($_POST['userid'],$_POST['pid']))
{
    $userid = trim($_POST["userid"]);
    $pid = trim($_POST["pid"]);

    $sql = "SELECT * FROM demo WHERE username = '$userid' and password = '$pid'";
    $result = mysqli_query($conn,$sql);
    $row = mysqli_fetch_array($result);
    echo $row['week'].'<br/>'.'<br/>';

    echo '<a href="2ndHTML.html"/>'.$row['day1'].'</a>'.'<br/>';
?>

0 个答案:

没有答案