sql >> Databasteknik >  >> RDS >> Mysql

Kan inte lagra emoji i databasen

Okej, jag lyckades äntligen få det att fungera! Tack till alla som försökte hjälpa mig, särskilt @Rick James och @Gerard Roche.

FÖRSLAG:

Om du behöver arbeta med emoji gör först och främst enkla tester på localhost. Skapa en ny databas och skapa en ny app för teständamål.

Om du följer stegen jag skrev i frågan eller om du följer denna handledning: https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 det måste fungera.

Genom att arbeta lokalt med en fräsch grundläggande app får du mer kontroll och mer utrymme för att göra alla tester du behöver.

LÖSNING:

I mitt fall låg problemet i konfigurationen av databasen i CodeIgniter. Det var inte korrekt inställning av char_set och sorteringen för en dum förbiseende:Jag åsidosatte databasinställningarna i funktionen som sparar meddelanden för att vara säker på att den fungerade med den mobila databasen.

INNAN:

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       
}

EFTER:

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

    // other code to save message
}

SLUTSATS:

Appen måste ställa in anslutningen till databasen på rätt sätt. Om du har konfigurerat databasen på rätt sätt men du inte gör den korrekta anslutningen till din app kommer den inte att fungera.

Så om du stöter på liknande problem, se till att api:n ställer in char_set korrekt som utf8mb4 och db_collat som utf8mb4_unicode_ci .



  1. Doktrin - Hur skriver man ut den riktiga sql-filen, inte bara det förberedda uttalandet?

  2. Escape SQL LIKE-värde för Postgres med psycopg2

  3. Fallbeskrivning i MySQL

  4. Kör flera SQL-satser från Groovy