Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można przechowywać emotikonów w bazie danych

OK, w końcu udało mi się sprawić, żeby wszystko działało! Dziękuję wszystkim, którzy próbowali mi pomóc, zwłaszcza @Rick James i @Gerard Roche.

SUGER:

Jeśli potrzebujesz pracować z emotikonami, najpierw wykonaj proste testy na lokalnym hoście. Utwórz nową bazę danych i stwórz nową aplikację do celów testowych.

Jeśli postępujesz zgodnie z instrukcjami, które napisałem w pytaniu lub jeśli podążasz za tym samouczkiem: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 to musi działać.

Pracując lokalnie na nowej, podstawowej aplikacji, będziesz mieć większą kontrolę i więcej miejsca na wykonanie wszystkich potrzebnych testów.

ROZWIĄZANIE:

W moim przypadku problem tkwił w konfiguracji bazy danych w CodeIgniterze. Nie skonfigurowano prawidłowo zestawu znaków i sortowania dla głupiego przeoczenia:nadpisałem ustawienia bazy danych w funkcji, która zapisuje wiadomości, aby upewnić się, że działa z mobilną bazą danych.

PRZED:

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       
}

PO:

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

    // other code to save message
}

WNIOSEK:

Aplikacja musi prawidłowo ustawić połączenie z bazą danych.Jeśli masz poprawnie skonfigurowaną bazę danych, ale nie nawiążesz prawidłowego połączenia z aplikacją, nie będzie ona działać.

Więc jeśli napotkasz podobne problemy, upewnij się, że interfejs API prawidłowo skonfiguruj char_set jako utf8mb4 i db_collat jako 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. Dodaj więcej niestandardowych zmiennych do mysql insert na blueimp/jquery-file-upload

  2. Pobieranie ostatnio wstawionych identyfikatorów dla wielu wierszy

  3. pobierz 2 dni temu zapytanie w mysql

  4. Lista SELECT nie znajduje się w klauzuli GROUP BY i zawiera niezagregowaną kolumnę .... niezgodna z sql_mode=only_full_group_by

  5. Jak wstawić do wiersza MYSQL z wielu tablic $_POST