Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Użyj PHP, aby zrzucić wartości mysql do pliku JSON

Losowe zgadywanie:json_encode oczekuje danych zakodowanych w UTF-8 i będzie wykazywał zachowanie, które opisujesz, na każdym wejściu innym niż UTF-8 i ASCII. Dane, które otrzymujesz z bazy danych, są prawdopodobnie zakodowane w języku Latin-1.

Ustaw połączenie z bazą danych na utf8 do odbierania danych zakodowanych w UTF-8 bezpośrednio z bazy danych (zobacz UTF-8 przez całą drogę ) lub użyj (i nienawidzę tego mówić, ponieważ ta funkcja jest tak często nadużywana, że ​​nawet nie jest zabawna, ale jest tutaj poprawnie zastosowana) utf8_encode na wszystkich danych, które otrzymujesz z bazy danych, aby przekonwertować je z Latin-1 na UTF-8.

Więc albo:

// 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);

...

lub:

$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. Globalny limit czasu zapytania w MySQL 5.6

  2. Utwórz indeks w mysql nie działa

  3. Klauzula IN nie używa indeksu

  4. Różnice między DATA INFILE i LOAD DATA LOCAL INFILE

  5. Zainstaluj luaSQL na Ubuntu