2013-05-22 2 views
0

У меня есть php-скрипт и таблица в базе данных. PHP-скрипт выбирает все строки и переносит их в массив. У меня также есть устройство Android, которое вызывает этот скрипт. Все рабочие файлы отлично, но если в строке базы данных есть некоторые специальные символы (например, «С»), скрипт возвращает значение NULL. Как я могу решить проблему? Вот код:PHP: Нуль, когда есть специальные символы (Ñ ...)

$response = array(); 

require_once __DIR__ . '/db_connect.php'; 

$db = new DB_CONNECT(); 

$result = mysql_query("SELECT *FROM candi") or die(mysql_error()); 


if (mysql_num_rows($result) > 0) { 

$response["candi"] = array(); 

while ($row = mysql_fetch_array($result)) { 

$candi = array(); 

$candi["id"] = $row["id"]; 
$candi["name"] = $row["name"]; 



array_push($response["candi"], $candi); 
} 
$response["success"] = 1; 
+6

['MySQL'] (http://php.net/manual/en/book.mysql.php) (' mysql_ * 'функции) расширение [*** устарело ***] (http: // php.net/manual/en/function.mysql-connect.php). Я предлагаю использовать ['MySQLi'] (http://php.net/manual/en/book.mysqli.php) (' mysqli_ * 'функции) или [' PDO'] (http://php.net/ manual/en/book.pdo.php). – BlitZ

+0

Как вы возвращаете данные, используете ли вы json_encode? Как ваши данные закодированы в БД? – bouscher

ответ

1

Выходя на конечности и при условии, что вы json_encode ИНГ значения: json_encode ожидает данные в кодировке UTF-8 закодирован. Если данные не кодируются в кодировке UTF-8, он возвращает null. Убедитесь, что ваши данные закодированы в кодировке UTF-8. См. UTF-8 all the way through и Handling Unicode Front To Back In A Web App для получения всей необходимой информации.

+0

Да, deceze, я использую json_encode и меняю кодировку в соединении с utf-8 Мне удалось показать значение, но с помощью? вместо Ñ. что я должен добавить в json_encode? – Katherine99

+0

Затем вы перепутали обработку кодировки где-то, и данные, скорее всего, будут храниться некорректно в базе данных для начала. Прочитайте лишние статьи снова, также [Что каждый программист абсолютно, положительно должен знать о кодировках и наборах символов для работы с текстом) (http://kunststube.net/encoding/), если вам нужна еще более глубокая справочная информация. – deceze

Смежные вопросы