簡體   English   中英

jQuery / PHP中某些字符的問題

[英]Problems with certain characters in jQuery/PHP

在代碼中添加一些jQuery后,我遇到了一些字符問題。

http://www.blueskycouncil.com/login-form.php (登錄:stack / this)

當我只是在php中完成所有操作時,它運行良好,但現在它奇怪地轉換了一些字符。

這是我正在使用的jQuery代碼:

<script type="text/javascript">

// Check to see if document is ready

$(document).ready(function () {

    // Set sort mode to Best        

    $.post("_db_index.php", 
        {sort_id: "best"},

            // Take data from _db_index.php and put it into the HTML
            function(output){
                $('#left').html(output).show();
        });

    });
        // Check to see whether user have voted on item before 
        function updateKarma(element, id, sortId){
          $.post("idea_karma.php", 
              {pagetype: "index", karmatype: "ideaspace", id: id, sort_id: sortId}, 

        function(output){
                element.parentNode.className="karma-btn_voted";
              element.parentNode.innerHTML="<span class=\"voted\">"+output+"</span>";
          });

              return false;
        }

        function viewMode(sortId){
            $.post("_db_index.php", 

                {sort_id: sortId},
                    function(output){
                    $('#left').html(output).show();

                    $.post("subnavigation.php", 
                        {sort_id: sortId},

                            function(output){
                            $('#base').html(output).show();
                        });


                    });




            };

                $(function(){  
                 $(".base a").hover(function(){  
                  $(this).children("span").fadeOut();  
                 }, function(){  
                  $(this).children("span").fadeIn();  
                 })    
                });

並在_db_index.php文件中按以下方式獲取它

<?php

// Start session

require_once('auth.php');
require_once('config.php');
require_once('db_open_select.php');

// Functions

include('trunctate_text.php');

$sort_id = $_POST['sort_id'];
$member_id = $_SESSION['SESS_MEMBER_ID'];

// Check for PHP Insert Hack
if(array_key_exists("sort_id",$_POST)){
    $sort_allowed = array("best","new","comments");
        if(in_array($_POST["sort_id"],$sort_allowed)){
            $sort_id = $_POST["sort_id"];
        }
}

echo "<div id=\"gradient\">";

        //If User selected Best Rated or if url is empty:
        if (empty($_POST) OR $sort_id == "best") {

            //Perform database query
             $result = mysql_query("SELECT * , (SELECT COUNT( 1 ) FROM comments C WHERE C.idea_id = I.id) AS COMMENTS, ( SELECT login FROM members M WHERE I.member_id = M.member_id ) as login FROM ideaspace I ORDER BY KARMA DESC", $connection); 
            $query = mysql_query("SELECT idea_id FROM vote_idea WHERE member_id = $member_id", $connection);


            //Create array with which ideas the current user has voted on already
                $user_voted_on_this = array();

                    while($row = mysql_fetch_assoc($query))
                        {
                         $user_voted_on_this[] = $row["idea_id"];
                        }

                //If User selected newest:
                } elseif ($sort_id == "new") {

                            $result = mysql_query("SELECT * , (SELECT COUNT( 1 ) FROM comments C WHERE C.idea_id = I.id) AS COMMENTS, ( SELECT login FROM members M WHERE I.member_id = M.member_id ) as login FROM ideaspace I ORDER BY DATE DESC", $connection); 
                            $query = mysql_query("SELECT idea_id FROM vote_idea WHERE member_id = $member_id", $connection);

                            //Create array with which ideas the current user has voted on already
                                $user_voted_on_this = array();

                                    while($row = mysql_fetch_assoc($query))
                                        {
                                         $user_voted_on_this[] = $row["idea_id"];
                                        } 

                        //If User selected most commented:                
                            } else {

                                if ($sort_id == "comments")

                                $result = mysql_query("SELECT * , (SELECT COUNT( 1 ) FROM comments C WHERE C.idea_id = I.id) AS COMMENTS, ( SELECT login FROM members M WHERE I.member_id = M.member_id ) as login FROM ideaspace I ORDER BY COMMENTS DESC", $connection); 
                                $query = mysql_query("SELECT idea_id FROM vote_idea WHERE member_id = $member_id", $connection);



                                    $user_voted_on_this = array();

                                        while($row = mysql_fetch_assoc($query))
                                            {
                                             $user_voted_on_this[] = $row["idea_id"];
                                            }  

                }

                if (!$result && !$query) {    
                    die("Database connection failed: " . mysql_error());
                }



        // 4. Use data from database
        while ($row = mysql_fetch_array($result)) {

            echo 
                "<dt id=\"idea\">";

                        if (in_array($row['id'],$user_voted_on_this)) {

                                        echo 
                                            "<div class=\"karma-btn_voted\">
                                                <span class=\"voted\">{$row['karma']}</span>
                                                    </div>";

                                                    } else { 

                                        echo 
                                            "<div class=\"karma-btn\">

                        <a href=\"javascript:void(0);\" onclick=\"return updateKarma(this,'{$row['id']}', '$sort_id')\"><img src=\"images/btn_lrg_karma.png\" alt=\"Alternative text\"><span class=\"voted\"><div class=\"newkarma\">{$row['karma']}</div></span></a>
                                            </div>";    

                            }

                                        echo    
                                            "<div class=\"textbox\">
                                                <P class=\"category\">" . $row['category'] . "</p>
                                                    <P class=\"headline\"> <a href=\"details_idea.php?itemid={$row['id']}\">" . $row['d_header']."</a></P>
                                                        <P>" . $shortdesc = myTruncate($row['d_description'], 220, " ") . "</p>" .
                                                            "<P class=\"name\">Submitted by " . $row['login'] . " " . date('D d Y', strtotime($row['date'])) . "<img src=\"images/comments.png\" align=\"center\"><a href=\"#\">". $row['COMMENTS'] ."</a></p>" .

                                                                    "</div>
                                                                        </dt></div>";


        }



?>


    <?Php
    require_once('db_close.php');
    ?>

就像我說的那樣,當它是PHP時工作正常,但是現在我獲取數據時,它用菱形替換了某些字符? 字符圖標。

是一個編碼問題,很多事情要檢查- 保存到mysql時是UTF-8問題

響應編碼為cp1252,但您的頁面采用UTF8

消失的字符具有十進制代碼146

您應該在發送響應之前更改編碼(或者在將數據插入db之前更好)。

mb_convert_encoding($str, "UTF-8", "CP1252");

謝謝大家我修好了

mysql_query(“ SET NAMES utf8”); 在db_connection文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM