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

Vấn đề về dấu đầu ra JSON

Điều đó không thực sự quan trọng. Khi json được giải mã, chúng lại trở thành các ký tự.

Nếu bạn sử dụng php 5.4> =, bạn có thể vượt qua JSON_UNESCAPED_UNICODE thành json_encode :

json_encode( $data, JSON_UNESCAPED_UNICODE )

Nhưng một lần nữa, bộ thoát unicode cũng hoạt động tốt và làm cho dữ liệu an toàn.

Chỉnh sửa:

Có vẻ như dữ liệu của bạn đã bị hỏng, ngay cả trước json_encode . Có vẻ như bạn đã "mã hóa kép" nó thành utf-8.

Bạn có đang sử dụng thứ gì đó như utf8_encode không ? Bạn không cần phải làm bất cứ điều gì trong mã của mình khi bạn chèn vào cơ sở dữ liệu của mình. Nếu bạn đã chèn dữ liệu vào cơ sở dữ liệu bằng utf8_encode , thì điều đó giải thích mã hóa kép. Tất cả những gì bạn cần là dữ liệu phải là utf-8 và có mysql_set_charset( 'utf8' ) trước khi chèn.

Thật thú vị khi biết rằng nếu json của bạn có unicode không thoát thì json không thể được thực thi dưới dạng javascript ngay cả khi bạn thêm dấu ngoặc đơn nếu json chứa U+2028 hoặc U+2029 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO PHP chèn vào DB từ một mảng kết hợp

  2. MySQLdb không thể khởi tạo bộ ký tự lỗi utf-8

  3. truy vấn mySQL trả về id tài nguyên # 5

  4. Xây dựng ứng dụng Android để chạy PHP và MySQL trên Android Tablet

  5. Giám sát cơ sở dữ liệu của bạn với MySQL Enterprise Monitor