sql >> Databáze >  >> RDS >> Mysql

Emoji nelze uložit do databáze

Dobře, konečně se mi to podařilo zprovoznit! Děkuji všem, kteří se mi snažili pomoci, zejména @Rick James a @Gerard Roche.

NÁVRH:

Pokud potřebujete pracovat s emotikony, proveďte nejprve jednoduché testy na localhost. Vytvořte novou databázi a vytvořte novou aplikaci pro účely testování.

Pokud budete postupovat podle kroků, které jsem napsal v otázce, nebo pokud budete postupovat podle tohoto návodu: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 musí to fungovat.

Když budete pracovat lokálně na nové základní aplikaci, budete mít větší kontrolu a více prostoru pro provedení všech potřebných testů.

ŘEŠENÍ:

V mém případě byl problém v konfiguraci databáze v CodeIgniter. Nebylo správně nastaveno char_set a řazení pro hloupé přehlížení:Přepsal jsem nastavení databáze ve funkci, která ukládá zprávy, abych se ujistil, že funguje s mobilní databází.

PŘED:

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
}

ZÁVĚR:

Aplikace musí správně nastavit připojení k databázi. Pokud máte databázi správně nastavenou, ale nenavážete správné připojení k aplikaci, nebude to fungovat.

Pokud tedy narazíte na podobné problémy, ujistěte se, že rozhraní API správně nastavilo char_set jako utf8mb4 a db_collat jako utf8mb4_unicode_ci .



  1. Více volání array_agg() v jednom dotazu

  2. SEC_CASE_SENSITIVE_LOGON Zastaráno v 12c

  3. Objekt třídy DateTime nelze převést na řetězec

  4. PHP a MYSQL:použití skupin podle kategorií