【发布时间】:2019-11-04 03:43:23
【问题描述】:
我在 MariaDB 上将数据库和表字符集更改为 utf8mb4 和排序规则 utf8bm4_turkish_ci 以支持表情符号。虽然我可以通过终端连接到服务器来轻松插入和选择操作,但是当我想通过客户端(Web 应用程序或 MySQL 工作台)执行插入操作时出现“字符串值不正确”错误。此外,当我想用 select 显示数据时,它已损坏。与此同时,我注意到另一种情况;即使数据库和表不支持utf8mb4(我只使用utf8进行测试),我可以通过终端插入表情符号,甚至可以用select查看。
my.cnf文件上的定义如下;
[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
user = mysql
symbolic-links = 0
old_passwords = 0
innodb_file_format = Barracuda
default-storage-engine = InnoDB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_thread_concurrency = 24
lower_case_table_names = 1
character-set-server = utf8mb4
collation-server = utf8mb4_turkish_ci
init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_turkish_ci'
skip-character-set-client-handshake
innodb_large_prefix
[client]
default-character-set = utf8mb4
[mysql]
skip-secure-auth
default-character-set = utf8mb4
【问题讨论】:
-
我很想将UTF-8 all the way through 链接为重复项。
-
似乎您的 PHPMyAdmin(或您正在使用的任何东西)没有设置正确的服务器连接名称
标签: mysql mariadb mysql-workbench utf8mb4