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

Không thể lưu trữ biểu tượng cảm xúc trong cơ sở dữ liệu

Được rồi, cuối cùng thì tôi cũng đã làm được! Cảm ơn mọi người đã cố gắng giúp đỡ tôi, đặc biệt là @Rick James và @Gerard Roche.

ĐỀ XUẤT:

Nếu bạn cần làm việc với biểu tượng cảm xúc, trước hết hãy thực hiện các bài kiểm tra đơn giản trên localhost. Tạo cơ sở dữ liệu mới và tạo một ứng dụng mới cho mục đích thử nghiệm.

Nếu bạn làm theo các bước tôi đã viết trong câu hỏi hoặc nếu bạn làm theo hướng dẫn này: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 nó phải hoạt động.

Làm việc cục bộ trên một ứng dụng cơ bản mới, bạn sẽ có nhiều quyền kiểm soát hơn và nhiều chỗ hơn để thực hiện tất cả các thử nghiệm bạn cần.

GIẢI PHÁP:

Trong trường hợp của tôi, sự cố nằm ở cấu hình của cơ sở dữ liệu trong CodeIgniter. Việc thiết lập char_set và đối chiếu không đúng cách cho một sự nhầm lẫn ngu ngốc:Tôi đã ghi đè cài đặt cơ sở dữ liệu trong hàm lưu thư để đảm bảo rằng nó đang hoạt động với cơ sở dữ liệu di động.

TRƯỚC:

function message_save ( $data = FALSE )
{   
    $project_db_config                  = array();
    $project_db_config['hostname']      = 'MY_HOST';
    $project_db_config['username']      = 'MY_USERNAME';
    $project_db_config['password']      = 'MY_PASSWORD';
    $project_db_config['database']      = 'MY_DATABASE';

    $mobile_db                          = $this->load->database( $project_db_config, TRUE );

    // other code to save message       
}

SAU:

function message_save ( $data = FALSE )
{
    $mobile_db_connection = $this->load->database('admin_mobile_mh', TRUE);

    // other code to save message
}

KẾT LUẬN:

Ứng dụng phải thiết lập kết nối với cơ sở dữ liệu đúng cách. Nếu bạn đã thiết lập cơ sở dữ liệu đúng cách nhưng bạn không tạo kết nối thích hợp với ứng dụng của mình, nó sẽ không hoạt động.

Vì vậy, nếu bạn gặp các sự cố tương tự, hãy đảm bảo api thiết lập đúng cách char_set dưới dạng utf8mb4db_collat dưới dạng utf8mb4_unicode_ci .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chèn khung dữ liệu gấu trúc qua mysqldb vào cơ sở dữ liệu?

  2. MySQL Sum () nhiều cột

  3. Sử dụng kiểm soát phiên bản (Git) trên cơ sở dữ liệu MySQL

  4. Cập nhật truy vấn dựa trên tình trạng

  5. JSON_CONTAINS () Ví dụ trong MySQL