Directory articoli
- 1 Perché l'espressione Emoji inserita nel database diventa un punto interrogativo?
- 2 Come risolvere il problema che l'espressione Emoji inserita nel database diventa un carattere punto interrogativo?
- 3 MySQL Emoji soluzione del problema del carattere
- 4 Come modificare il set di caratteri del database su utf8mb4?
Se l'espressione Emoji è memorizzata nella codifica utf8Database MySQLo MariaDB, non può essere visualizzato.
Perché l'espressione Emoji inserita nel database diventa un punto interrogativo?
Poiché le espressioni Emoji sono caratteri di 4 byte e il set di caratteri utf8 supporta solo 1-3 byte di caratteri, le espressioni Emoji non possono essere scritte nel database.
Come risolvere il problema che l'espressione Emoji inserita nel database diventa un carattere punto interrogativo?
Ci sono 2 soluzioni:
- Immettere il testo manualmente, sostituendo i caratteri a quattro byte con caratteri personalizzati.
- 修改 MySQL Set di caratteri del database, modifica il set di caratteri del database da utf8 a utf8mb4, supporta caratteri da 1-4 byte.
In effetti, il primo metodo è troppo faticoso e non è consigliabile.
Si consiglia di utilizzare la seconda soluzione, modificare il set di caratteri del database MySQL.
A partire dalla versione MySQL 5.5.3, il database può supportare il set di caratteri utf4mb8 di 4 byte e un carattere può avere fino a 4 byte, quindi può supportare più set di caratteri e può anche memorizzare espressioni Emoji.
- Dopo MySQL 5.5.3, puoi praticamente aggiornare senza problemi il set di caratteri utf8mb4.
- Allo stesso tempo, utf8mb4 è compatibile con il set di caratteri utf8.
- La codifica, la posizione e la memorizzazione dei caratteri utf8 sono in utf8mb4.
- Come il set di caratteri utf8, nessun danno ai dati esistenti.
A causa diphpMyAdminPer le tabelle appena create in un database appena creato, la codifica dei caratteri predefinita è:Latin1
- Questa codifica non può inserire espressioni cinesi ed Emoji;
- È necessario modificare la codifica del set di caratteri del set di caratteri del database e della tabella in utf8mb4;
- Quindi, riavvia MySQL, puoi inserire espressioni cinesi ed Emoji.
MySQL Emoji soluzione del problema del carattere
1 :Modificare il file di configurazione MySQL my.cnf
- (Il server Windows è my.ini,LinuxIl server è my.cnf)
- my.cnf, di solito in
/etc/mysql/my.cnf
posizione. - Pannello di controllo CWPIl file my.cnf è in
/etc/my.cnf
posizione.
Dopo averlo trovato, aggiungi il seguente contenuto nelle tre parti seguenti ▼
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4'
2 :Riavvia il database MySQL
service mysqld restart
Passaggio 3: controlla di nuovo il set di caratteri e inserisci ▼ nella riga di comando SQL
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';
Verificare se quanto segue ▼
Immettere il seguente comando SQL▼
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
Controlla se è come segue▼
+--------------------------+--------------------+ | Variable_name | Value | +--------------------------+--------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | utf8mb4 | | character_set_system | utf8 | | collation_connection | utf8mb4_unicode_ci | | collation_database | utf8mb4_unicode_ci | | collation_server | utf8mb4_unicode_ci | +--------------------------+--------------------+
Dopo aver creato un nuovo database in phpMyAdmin, deviVisualizza codice database ▼
SHOW CREATE DATABASE db_name;
- 如:
SHOW CREATE DATABASE test;
Se la codifica del database non lo èutf8mb4
, è necessario modificare il set di caratteri del database suutf8mb4
.
Come modificare il set di caratteri del database su utf8mb4?
Passaggio 1: fare clic sul nome del database corrente in phpMyAdmin, quindi fare clic su SQL.
Passaggio 2: immettere il comando seguente per modificare il set di caratteri del databaseutf8mb4
▼
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8mb4
- 如:
ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;
3 :Riavvia il database MySQL
service mysqld restart
- Questo è tutto.
Ecco alcuni esempi di comandi SQL:
Modificare il set di caratteri predefinito e tutte le colonne di caratteri della tabella nel nuovo set di caratteri ▼
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
- 如:
ALTER TABLE logtest CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
Se modifichi solo il set di caratteri predefinito della tabella▼
ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
- 如:
ALTER TABLE logtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
Modifica il set di caratteri di un campo ▼
ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name
- 如:
ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;
Visualizza codice tabella ▼
SHOW CREATE TABLE tbl_name;
Visualizza codici campo ▼
SHOW FULL COLUMNS FROM tbl_name;
Visualizza il codice del database corrente ▼
SHOW VARIABLES LIKE 'character_set_%';
- Il pacchetto driver mysql-connector-java supporta solo utf5.1.13mb8 in 4+
Speranza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) ha condiviso "Come salvare Emoji in MySQL? Inserisci il problema del carattere del punto interrogativo dell'espressione Emoji del database", che ti è utile.
Benvenuti a condividere il link di questo articolo:https://www.chenweiliang.com/cwl-26592.html
Benvenuto nel canale Telegram del blog di Chen Weiliang per ricevere gli ultimi aggiornamenti!
📚 Questa guida contiene un valore enorme, 🌟Questa è un'opportunità rara, non perderla! ⏰⌛💨
Condividi e metti mi piace se ti va!
La tua condivisione e i tuoi like sono la nostra continua motivazione!