Артицле Дирецтори
Ако је израз емоџија сачуван у утф8 кодирањуМиСКЛ база податакаили МариаДБ, не може се приказати.
Зашто израз емоџија унесен у базу података постаје знак питања?
Пошто су Емоји изрази знакови од 4 бајта, а скуп знакова утф8 подржава само 1-3 бајта знакова, изрази Емоџија се не могу уписати у базу података.
Како решити проблем да Емоји израз унет у базу података постаје знак питања?
Постоје 2 решења:
- Унесите текст ручно, замењујући четворобајтне знакове прилагођеним знаковима.
- модификовати МиСКЛ Скуп знакова базе података, промените скуп знакова базе података из утф8 у утф8мб4, подржава знакове од 1-4 бајта.
У ствари, прва метода је превише посла и није препоручљива.
Препоручљиво је користити друго решење, модификовати скуп знакова МиСКЛ базе података.
Почевши од верзије МиСКЛ 5.5.3, база података може да подржава скуп знакова утф4мб8 од 4 бајта, а знак може имати до 4 бајта, тако да може да подржи више скупова знакова, а такође може да чува Емоји изразе.
- Након МиСКЛ 5.5.3, у основи можете неприметно да надоградите на скуп знакова утф8мб4.
- Истовремено, утф8мб4 је компатибилан са скупом знакова утф8.
- Кодирање, позиција и складиштење утф8 знакова су у утф8мб4.
- Исто као скуп знакова утф8, без оштећења постојећих података.
УследпхпМиАдминЗа новокреиране табеле у новокреираној бази података, подразумевано кодирање знакова је:Latin1
- Ово кодирање не може да убаци кинески и Емоји изразе;
- Морате да промените кодирање скупа знакова скупа знакова и табеле базе података у утф8мб4;
- Затим поново покрените МиСКЛ, можете уметнути кинески и Емоји изразе.
Решење проблема са МиСКЛ емоји карактерима
第 1 步:Измените МиСКЛ конфигурациони фајл ми.цнф
- (Виндовс сервер је ми.ини,линукСервер је ми.цнф)
- ми.цнф фајл, обично у
/etc/mysql/my.cnf
Локација. - ЦВП Цонтрол Панелми.цнф фајл, који се налази у
/etc/my.cnf
Локација.
Након што га пронађете, додајте следећи садржај у следећа три дела ▼
[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 步:Поново покрените МиСКЛ базу података
service mysqld restart
Корак 3: Поново проверите скуп знакова и унесите ▼ у СКЛ командну линију
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';
Проверите да ли је следеће ▼
Унесите следећу СКЛ команду▼
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
Проверите да ли је следеће▼
+--------------------------+--------------------+ | 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 | +--------------------------+--------------------+
Након креирања нове базе података у пхпМиАдмин, моратеПогледајте код базе података ▼
SHOW CREATE DATABASE db_name;
- 如:
SHOW CREATE DATABASE test;
Ако кодирање базе података нијеutf8mb4
, морате да измените скуп знакова базе података наutf8mb4
.
Како изменити скуп знакова базе података у утф8мб4?
Корак 1: Кликните на име тренутне базе података у пхпМиАдмин, а затим кликните на СКЛ.
Корак 2: Унесите следећу команду да бисте изменили скуп знакова базе податакаutf8mb4
▼
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8mb4
- 如:
ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;
第 3 步:Поново покрените МиСКЛ базу података
service mysqld restart
- То је то.
Ево неколико примера СКЛ команди:
Промените подразумевани скуп знакова и све колоне знакова у табели на нови скуп знакова ▼
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;
Ако само измените подразумевани скуп знакова у табели▼
ALTER TABLE tbl_name DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
- 如:
ALTER TABLE logtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
Измените скуп знакова поља ▼
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;
Погледајте код табеле ▼
SHOW CREATE TABLE tbl_name;
Погледајте кодове поља ▼
SHOW FULL COLUMNS FROM tbl_name;
Погледајте тренутни код базе података ▼
SHOW VARIABLES LIKE 'character_set_%';
- Пакет драјвера мискл-цоннецтор-јава подржава само утф5.1.13мб8 у 4+
Блог Хопе Цхен Веилианг ( https://www.chenweiliang.com/ ) је поделио „Како сачувати емоџи у МиСКЛ? Унесите проблем са знаком знака упитника у бази израза емоџија“, што вам је од помоћи.
Добродошли да поделите везу овог чланка:https://www.chenweiliang.com/cwl-26592.html
Добродошли на Телеграм канал блога Цхен Веилианг-а да бисте добили најновија ажурирања!
📚 Овај водич садржи огромну вредност, 🌟Ово је ретка прилика, не пропустите је! ⏰⌛💨
Поделите и лајкујте ако желите!
Ваше дељење и лајкови су наша стална мотивација!