0

PHP、HTML、Javascript、AJAX、JQuery のコードである Web アプリケーションに取り組んでいます。

MySQL データベースにリンクされています。

問題は次のとおりです。

データベース内のテキストのほとんどはフランス語であり、'é'、'ù'、'à' などの特殊文字は私のページでは � として表示されます。

注: 詳細情報を提供するために、アプリケーションのフォームに「é」を入力すると、データベースに「Ã」が書き込まれ、データベースに「é」を挿入すると、アプリケーションに として表示されます。

詳細情報: 最初は「é」が正しく表示されます。しかし、DataBase から更新する AJAX 関数を使用すると、.</p>

AJAX コード:

function getXMLHttpRequest()
    {
        var xhr = null;

        if (window.XMLHttpRequest || window.ActiveXObject)
        {
            if (window.ActiveXObject)
            {
                try 
                {
                    xhr = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch(e)
                {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } 
            else
            {
                xhr = new XMLHttpRequest(); 
            }
        } 
        else
        {
            alert("Votre navigateur ne supporte pas le format des données en temps réel...");
            return null;
        }
        return xhr;
    }

    function request()
    { 

        var xhr = getXMLHttpRequest();
        xhr.onreadystatechange = function()
                                {
                                    if(xhr.readyState == 4 && (xhr.status == 200 || shr.status == 0))
                                    {
                                        readData(xhr.responseXML);
                                    }
                                };
        xhr.open("POST", "handlingData.php", true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send(null);
    }

    function readData(Data)
    {   
        var XMLtr = Data.getElementsByTagName('tr');

        for(var i = 0; i < XMLtr.length; i++)
        {
            var HTMLtr = document.getElementById(XMLtr[i].getAttribute('id'));

            if(HTMLtr != null)
            {
                var XMLtd = XMLtr[i].getElementsByTagName('td');

                for(var e = 0; e < XMLtd.length; e++)
                {
                    var HTMLtd = HTMLtr.cells[e];
                    var HTMLtdReplace = document.createElement('td');
                    HTMLtdReplace.setAttribute('id', XMLtd[e].getAttribute('id'));
                    var InnerHTML = document.createTextNode(XMLtd[e].getAttribute("value"));
                    HTMLtdReplace.appendChild(InnerHTML);

                    HTMLtr.replaceChild(HTMLtdReplace, HTMLtd);
                }
            }
        }
    }

コードの残りの部分は、PHP を使用した単純な HTML テーブルです。

<body  onload="var int = self.setInterval(function(){request(readData);}, 1000);">
    <div id="divWrapper">
        <div id="divBgd">
        <?php
            if($_SESSION['User'] == null || !isset($_SESSION['User']))
            {
                header("Location: ../Index.php");
            }
            include("Header2.php");
            include("Navigation.php");
            include("divData.php");
            echo "<div style='clear: both;'></br></div>";
            echo "<div style='clear: both;'></br></div>";   
        ?>
        </div>
        <div style='clear: both;'></br></div>
    </div>
    <div style='clear: both;'></br></div>
</body>

divData.php は次のとおりです。

<div id="divData">
<table id="tblData" name="tblData">
    <tr>
        <th>Description</th>
        <th>Données</th>
        <th>Unitées</th>
        <th>Dernière mise à jour</th>
    </tr>
    <?php 
    $cn = new cConnexion("127.0.0.1", "app_windows", "root", "jrt12345");

    if($cn->DBConnexion())
    {
        $getData = $cn->Select("SELECT rtd_dateTime, rtd_tagId, rtd_value, tag_description, tag_units FROM realTimeData INNER JOIN tag ON tag.tag_id = realTimeData.rtd_tagId INNER JOIN plc ON plc.plc_id = tag.tag_plcId WHERE plc_id = ".$_SESSION['PLC']." AND tag_realTimeData = 1 AND tag_alarmeData = 0");

        if($getData != null)
        {       

            while($Data = $getData->fetch())
            {
                echo '<tr id="'.$Data['rtd_tagId'].'">';
                    echo '<td id="Description">'.$Data['tag_description'].'</td>';
                    echo '<td id="Value">'.$Data['rtd_value'].'</td>';
                    echo '<td id="Units">'.$Data['tag_units'].'</td>';
                    echo '<td id="Date">'.$Data['rtd_dateTime'].'</td>';
                echo '</tr>';
            }
        }
    }
?>
</table>
<a id="cmdRetour" href="Accueil.php">Accueil</a>

ありがとうございました !

4

2 に答える 2