sql >> Database >  >> RDS >> Mysql

Gebruik PHP om mysql-waarden in het JSON-bestand te dumpen

Willekeurige gok:json_encode verwacht UTF-8-gecodeerde gegevens en zal het gedrag vertonen dat u beschrijft op niet-UTF-8, niet-ASCII-invoer. De gegevens die u uit de database haalt, zijn waarschijnlijk Latin-1-gecodeerd.

Stel uw databaseverbinding in op utf8 om UTF-8-gecodeerde gegevens rechtstreeks uit de database te ontvangen (zie UTF-8 helemaal ), of gebruik (en ik zeg dit niet graag, omdat deze functie zo vaak wordt misbruikt dat het niet eens grappig is, maar het wordt hier correct toegepast) utf8_encode op alle gegevens die u uit de database haalt om deze van Latin-1 naar UTF-8 te converteren.

Dus ofwel:

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

...

of:

$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. efficiënte manier om paging te implementeren

  2. MySQL:Total GROUP BY MET ROLLUP nieuwsgierigheid

  3. Hoe deze MySQL-tabel verder te optimaliseren voor een enkele query

  4. Hulp bij SQL-deelname voor vriendenlijst