Я пытался реализовать вызов AJAX для базы данных, возвращающей файл JSON с PHP, и в итоге столкнулся с проблемой кодирования.
В моей базе данных есть несколько полей типа char с именами клиентов и, поскольку она находится вПортугальский, европейские символы довольно распространены.Следовательно, некоторые результаты с этими символами возвращают ноль через JSON.
Я изменил все настройки набора символов (база данных, html, сценарии) на UTF-8, но это все еще не ход.Это функция, которую я использую для извлечения данных:
function getJSON($sql){
$rows = array();
while($r = mysql_fetch_assoc($sql)) {
$rows[] = $r;
}
print json_encode($rows);
}
И это моя структура таблицы БД:
conta int(10),
senha char(40),
nome varchar(30),
sobrenome varchar(25),
mail varchar(30),
saldo decimal(65,2),
agencia varchar(30),
tipo int(1),
ativa int(1),
padrao int(1)
Строки "nome" и "sobrenome" - это те, которые могутсодержат европейские символы (~, ç, ´, `и т. д.).
Я пытался найти функцию для преобразования всего массива результатов в utf8, но не смог ее найти.
IИнтересно, сможете ли вы пролить свет на эту проблему?
Спасибо.