Это правильный способ получить данные с кодировкой UTF8 с MySQL и UTF8 - PullRequest
1 голос
/ 16 августа 2011
<?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'");

и какой из них лучше.

1 Ответ

1 голос
/ 25 августа 2011

JSON - это просто открытый стандарт для обмена данными. Если вы отправите строку в кодировке json, клиент преобразует вашу строку в правильный набор символов, если он поддерживает JSON. Попробуйте использовать клиентский интерпретатор JavaScript и проверьте, поддерживает ли ваш клиент JSON:

 echo "<script>document.write('$result');</script>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...