sql >> Databasteknik >  >> RDS >> Mysql

Använd PHP för att dumpa mysql-värden i JSON-filen

Slumpmässig gissning:json_encode förväntar sig UTF-8-kodad data och kommer att uppvisa det beteende du beskriver på alla icke-UTF-8, icke-ASCII-ingång. Datan du får från databasen är sannolikt Latin-1-kodad.

Ställ antingen in din databasanslutning till utf8 för att ta emot UTF-8-kodad data direkt från databasen (se UTF-8 hela vägen igenom ), eller använd (och jag hatar att säga detta, eftersom den här funktionen missbrukas så ofta att den inte ens är rolig, men den är korrekt tillämpad här) utf8_encode på all data du får från databasen för att konvertera den från Latin-1 till UTF-8.

Så antingen:

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

...

eller:

$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. Returnera kolumninformation från en länkad server i SQL Server (T-SQL-exempel)

  2. Hur man väljer kolumnvärde som kolumnnamn med villkor i SQL-tabell

  3. hur man hoppar över en dålig rad i ssis platt filkälla

  4. Hur man hämtar radvärden för en datagridview och skickar den till en annan form med en knapp i samma rad