Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > utf8mb4 эмоджи и кирилица


Автор: od0201 19.6.2019, 18:10
Доброе время суток
MySQL переводил с utf8 на utf8mb4 

ALTER DATABASE 'mydb' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE 'mydb'.'mytable' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
и
в my.conf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

в myadmin 3.4.11.1
эмодзи вижу как 😘
кириллица нормально
при попытке вставить эмодзи   непосредственно через myadmin выдает "Warning: #1300 Invalid utf8 character string: '\xF0\x9F\x98\x98'"

если 
Код

$dbh = DBI->connect("dbi:mysql:database=$DATA{'DB'};host=$DATA{'HOST'};port=3306", $DATA{'LOGIN'}, $DATA{'PASSW'}, { mysql_enable_utf8mb4 => 1,}) or die "Couldnot connect to MySQL: $DBI::errstr\n";

эмодзи  вижу как эмодзи 
кириллицу как ?????????????????

если 
Код

$dbh = DBI->connect("dbi:mysql:database=$DATA{'DB'};host=$DATA{'HOST'};port=3306", $DATA{'LOGIN'}, $DATA{'PASSW'}) or die "Couldnot connect to MySQL: $DBI::errstr\n";
$dbh->do('SET NAMES utf8');

эмодзи  вижу как 😘
кириллица нормально

на каком этапе я сделал не правильно, Спасибо

Автор: od0201 4.7.2019, 16:57
проблема была в устаревшем ПО на 7 дебиан

установил 9 дебиан с обновленным ПО и все заработало

Автор: xiaofeifei142 18.10.2020, 17:24
We and our sisters think this is a very good website
https://www.thepornsitelists.com/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)