2012-12-08 1 views
0

PHP로 MySQL에서 데이터를로드하고 HTML로 표시하는 설정이 있습니다. 그것은 지금까지 작동합니다. 모든 문자가 어떻게 표시되어야합니다. 그러나 MySQL 데이터를 새로 고치기 위해 PHP를 호출하는 $ .ajax를 사용하여 사이트의 특정 부분을 새로 고치기 위해 버튼을 클릭하면 일부 문자가?로 표시됩니다. 이것은 MySQL 데이터 인 문자입니다.Ajax 후에 HTML 특수 문자 인코딩이 작동하지 않음 -> PHP -> MySQL

홈페이지

<!doctype html> 
<html> 
    <head> 
    <meta charset="UTF-8"> 
    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $("div#click input").live("click", function() { 
       $("div#main").load("main.php"); 
      }); 
     }); 
    </script> 
    </head> 

    <body> 
     <div id="main"> 
     é¨ûåa 
     </div> 

     <div id="click"> 
     <input type="button" value="click" onclick="return false;" /> 
     </div> 
    </body> 
</html> 

Main.php

<?php 
$a = mysql_connect('localhost', 'root', ''); 
mysql_select_db('link', $a); 

?> 
<div id="main"> 
ééîüåaa 

</div> 

<?php 
$r = mysql_query("SELECT * from promo;"); 

while ($row = mysql_fetch_object($r)) { 
     $name  = $row->name; 
     echo $name; 
} 
mysql_close($a); 
?> 

MySQL의 테이블 :

CREATE TABLE `promo` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `name` varchar(255) NOT NULL DEFAULT '', 
    `link` tinytext NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; 

답변

1

귀하는 mysql_query하기 전에이 호출을 사용하려고

mysql_set_charset("utf8") 
+0

감사합니다. –