Проблемы с кодировкой при получении данных из БД? Вся БД в кодировке utf8_general_ci . При получении данных данные выводятся в ancii кодах. Пример файлов:
db_connect.php
<?php
class DB_CONNECT {
function __construct() {
$this->connect();
}
function __destruct() {
$this->close();
}
function connect() {
require 'db_config.php';
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());
mysql_query('SET NAMES utf8 COLLATE utf8_general_ci', $con);
$db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());
return $con;
}
function close() {
mysql_close();
}
}
?>
get_all_cinema.php
<?php
$response = array();
require 'db_connect.php';
$db = new DB_CONNECT();
$result = mysql_query("SELECT *FROM dle_post") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$response["dle_post"] = array();
while ($row = mysql_fetch_array($result)) {
$cinema = array();
$cinema["pid"] = $row["id"];
$cinema["title"] = $row["title"];
$cinema["category"] = $row["category"];
$cinema["short_story"] = $row["short_story"];
$cinema["xfields"] = $row["xfields"];
echo $row["title"];
array_push($response["dle_post"], $cinema);
}
$response["success"] = 1;
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "No cinema found";
echo json_encode($response);
}
?>
без строки выводилось раньше "null", теперь ancii код
mysql_query('SET NAMES utf8 COLLATE utf8_general_ci', $con);
пример вывода по ссылке:
kinoobzor.org/android/get_all_cinema.php