Mysql
 sql >> база данни >  >> RDS >> Mysql

Използвайте PHP за изхвърляне на mysql стойности в JSON файл

Случайно предположение:json_encode очаква данни, кодирани в UTF-8, и ще покаже поведението, което описвате на всеки вход, който не е UTF-8, не-ASCII. Данните, които получавате от базата данни, вероятно са кодирани в Latin-1.

Или задайте връзката на вашата база данни на utf8 да получавате кодирани UTF-8 данни директно от базата данни (вижте UTF-8 докрай ), или използвайте (и мразя да казвам това, защото тази функция е толкова често злоупотребявана, че дори не е смешно, но е правилно приложена тук) utf8_encode върху всички данни, които получавате от базата данни, за да ги конвертирате от Latin-1 в UTF-8.

Така че или:

// set the connection charset
mysql_set_charset('utf8');

$result = mysql_query("SELECT post_status, post_title FROM wp_posts");

$data = array();
while ($row = mysql_fetch_assoc($result)) { 
    $data['posts'][] = $row;
} 

$json_string = json_encode($data);

...

или:

$result = mysql_query("SELECT post_status, post_title FROM wp_posts");

$data = array();
while ($row = mysql_fetch_assoc($result)) { 
    $row = array_map('utf8_encode', $row);
    $data['posts'][] = $row;
} 

$json_string = json_encode($data);

...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да АКТУАЛИЗИРАТЕ таблица със SUM() и COUNT() в една и съща таблица към различни колони

  2. Грешка 1005 в MySQL (от синтаксис на външния ключ?)

  3. Заместител на функцията UUID версия 1 на MySQL?

  4. mysqli_connect():(HY000/2003):Не мога да се свържа с MySQL сървър на „име на домейн“ (111)

  5. ЗАРЕЖДАНЕ НА ДАННИ INFILE на отдалечена машина