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

Jak zmienić zestaw znaków z latin1 na UTF8 w MySQL?

Domyślnie bazy danych MySQL mają zestaw znaków latin1 i sortowanie. Jednak czasami może być konieczne przechowywanie znaków UTF8 w bazie danych MySQL. Oto jak zmienić zestaw znaków z latin1 na UTF8.


Jak przekonwertować bazę danych MySQL z latin1 na UTF8

Oto kroki, aby zmienić zestaw znaków z latin1 na UTF dla bazy danych MySQL.


1. Określ aktualny zestaw znaków

Zaloguj się do narzędzia wiersza poleceń MySQL. Zobaczysz monit o hasło. Wprowadź swoje hasło, aby zalogować się do bazy danych MySQL.

$ sudo mysql -uroot -p

Uruchom następującą komendę, aby określić obecny zestaw znaków bazy danych. Zastąp poniżej database_name nazwą swojej bazy danych

mysql> SELECT default_character_set_name 
       FROM information_schema.SCHEMATA S 
       WHERE schema_name = "database_name";
+----------------------------+
| default_character_set_name |
+----------------------------+
| latin1                     |
+----------------------------+

Jeśli chcesz określić zestaw znaków dla określonej tabeli bazy danych, uruchom następującą komendę. Zastąp database_name i table_name odpowiednio nazwami bazy danych i tabel.

mysql> SELECT CCSA.character_set_name 
       FROM information_schema.TABLES T,
       information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA 
       WHERE CCSA.collation_name = T.table_collation 
       AND T.table_schema = "database_name" 
       AND T.table_name = "table_name";

Przeczytaj bonus:Jak zwiększyć maksymalną liczbę połączeń w MySQL

2. Zmień zestaw znaków z latin1 na UTF8

Uruchom następujące polecenie, aby zmienić zestaw znaków bazy danych MySQL z latin1 na UTF8. Zastąp database_name nazwą swojej bazy danych

Dla MySQL> 5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Dla MySQL <=5.5

mysql> ALTER DATABASE database_name CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Przeczytaj bonus:Jak oceniać partycje w MySQL

Podobnie, oto polecenie zmiany zestawu znaków tabeli MySQL z latin1 na UTF8. Zastąp table_name nazwą tabeli bazy danych.

Dla MySQL> 5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Dla MySQL <=5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER 
       SET utf8 COLLATE utf8_unicode_ci;

Mamy nadzieję, że powyższy samouczek pomoże ci zmienić zestaw znaków bazy danych na utf8mb4 (UTF-8).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jQuery UI Sortable, a następnie zapisz kolejność w bazie danych

  2. Kod błędu:2013. Utracono połączenie z serwerem MySQL podczas zapytania

  3. Jak wyodrębnić podciąg z ciągu w PostgreSQL/MySQL?

  4. MySQL CAST – Jak wpisać Cast w MySQL

  5. Dynamiczne zapytanie mysql w procedurze składowanej