Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng PHP để kết xuất các giá trị mysql vào tệp JSON

Đoán ngẫu nhiên:json_encode mong đợi dữ liệu được mã hóa UTF-8 và sẽ thể hiện hành vi mà bạn mô tả trên bất kỳ đầu vào nào không phải UTF-8, không phải ASCII. Dữ liệu bạn nhận được từ cơ sở dữ liệu có thể được mã hóa Latin-1.

Đặt kết nối cơ sở dữ liệu của bạn thành utf8 để nhận dữ liệu được mã hóa UTF-8 trực tiếp từ cơ sở dữ liệu (xem UTF-8 thông qua ), hoặc sử dụng (và tôi ghét phải nói điều này, bởi vì chức năng này thường bị lạm dụng, nó thậm chí không vui, nhưng nó được áp dụng chính xác ở đây) utf8_encode trên tất cả dữ liệu bạn nhận được từ cơ sở dữ liệu để chuyển đổi nó từ Latin-1 sang UTF-8.

Vì vậy, một trong hai:

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

...

hoặc:

$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. Khi nào hàm ORDER BY RAND () của MySQL có thứ tự?

  2. Nhóm theo tuần trong MySQL

  3. Cách nhận id tăng tự động tiếp theo trong mysql

  4. Tôi nên xử lý --secure-file-priv trong MySQL như thế nào?

  5. Lấy các ký tự đặc biệt ra khỏi cơ sở dữ liệu MySQL với PHP