这是正确的方式来获得数据与MySQL和UTF8编码


Is this the right way to get Data with UTF8 encoding with MySQL and UTF8

<?php
require_once('config.php');
require_once 'convertArraytoJson.php';
$connection=mysql_connect ( "localhost", $databaseuser, $databasepassword );
//mysql_set_charset('utf8'); //Is this better than the last line? 
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'"); //Which one is better?
@mysql_select_db ($databasename) or die ( "Unable to select database" );
$query="SELECT `Building` FROM `tablebuilding` WHERE ID=51";
$data = mysql_query($query);
while (true){
    $info = mysql_fetch_array ( $data, MYSQL_ASSOC );
    if ($info == false) {
        break;
    }
    $output = $info['Building'];
}
//$output is FX Lifestyle X’nter
$v= htmlspecialchars ($output); //Should I use this?

$result = json_encode($output);
//$result is FX Lifestyle X'u2019nter 
echo ($result);
?>

只是想验证一下这是正确的方式吗?

mysql_set_charset('utf8')mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");的区别是什么

JSON只是一个数据交换的开放标准。如果你发送json编码的字符串,客户端将用正确的字符集转换你的字符串,如果它支持json。尝试使用客户端JavaScript解释器并检查您的客户端是否支持JSON:

 echo "<script>document.write('$result');</script>";