Я запрашиваю базу данных, а затем хочу закодировать в JSON ответ.
Из-за двух полей, «name» и «description», которые содержат некоторые символы, кодировка json не выполняется.
После того, как я закодировал массив, полученный из базы данных, json имеет длину всего 4 символа.
Если я не запрашиваю из базы данных таблицы «имя» и «описание», которые содержат эти очень странные символы, все работает. Я могу закодировать массив, а затем использовать его.
я пытался
$ Pdo-> котировка (данные $ [имя])
а также
$ Pdo-> котировка (данные $ [Описание])
, побег завершен, но проблема не решается. Json все еще запутан этими странными символами.
Есть идеи о том, что может происходить?
Я починил это.
Я должен был установить кодировку соединения БД:
try {
$pdo = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo -> exec('SET NAMES utf8'); // FIX
}
catch( PDOException $excepiton ) {
echo "Connection error :" . $excepiton->getMessage();
}
?>
Других решений пока нет …